是否可以在不更换变量的情况下加载jinja2模板?

时间:2013-05-11 07:50:51

标签: python flask jinja2

假设我们有以下结构

模板/ modal.html

<div class="title">
   {% block title %}
   {% endblock %}
</div>
<div class="content">
   {% block content %}
   {% endblock %}
</div>

模板/ usermodal.html

{% extends "modal.html" %}
{% block title %}
     Hello {{ user }}
{% endblock %}
{% block content %}
     Some content
     {% include "table.html" %}
{% endblock %}

模板/ table.html

<table>
   <tr>
      <td>
         {{ data }}
      </td>
   </tr>
</table>

我想向客户端返回以下内容,用js / client side templating填充它

<div class="title">
     Hello {{ user }}
</div>
<div class="content">
     Some content
    <table>
      <tr>
        <td>
          {{ data }}
       </td>
      </tr>
    </table>
</div>

基本上我正在寻找的是一个类似于flask中的render_template的方法,但它只组装模板,但不会用数据填充/渲染它。

在资料来源中,我找不到这样的方法。

你有什么想法我能做到这一点吗?

1 个答案:

答案 0 :(得分:3)

您可以使用raw

标记阻止
{% raw %}
    <div class="title">
         Hello {{ user }}
    </div>
    <div class="content">
         Some content
        <table>
          <tr>
            <td>
              {{ data }}
           </td>
          </tr>
        </table>
    </div>
{% endraw %}

http://jinja.pocoo.org/docs/templates/#escaping