Python 是否可以在不替换变量的情况下加载jinja2模板?
假设我们有以下结构 模板/modal.htmlPython 是否可以在不替换变量的情况下加载jinja2模板?,python,flask,jinja2,Python,Flask,Jinja2,假设我们有以下结构 模板/modal.html <div class="title"> {% block title %} {% endblock %} </div> <div class="content"> {% block content %} {% endblock %} </div> {% extends "modal.html" %} {% block title %} Hello {{ user }
<div class="title">
{% block title %}
{% endblock %}
</div>
<div class="content">
{% block content %}
{% endblock %}
</div>
{% extends "modal.html" %}
{% block title %}
Hello {{ user }}
{% endblock %}
{% block content %}
Some content
{% include "table.html" %}
{% endblock %}
<table>
<tr>
<td>
{{ data }}
</td>
</tr>
</table>
模板/table.html
<div class="title">
{% block title %}
{% endblock %}
</div>
<div class="content">
{% block content %}
{% endblock %}
</div>
{% extends "modal.html" %}
{% block title %}
Hello {{ user }}
{% endblock %}
{% block content %}
Some content
{% include "table.html" %}
{% endblock %}
<table>
<tr>
<td>
{{ data }}
</td>
</tr>
</table>
{{data}}
我想返回到客户端以下内容,用js/客户端模板填充它
<div class="title">
Hello {{ user }}
</div>
<div class="content">
Some content
<table>
<tr>
<td>
{{ data }}
</td>
</tr>
</table>
</div>
你好{{user}}
一些内容
{{data}}
所以基本上我要寻找的是一种类似于在flask中呈现模板的方法,但它只组装模板,而不使用数据填充/呈现模板
环顾四周的资料,我找不到这样的方法
你知道我怎样才能做到这一点吗?你可以用
raw
{% raw %}
<div class="title">
Hello {{ user }}
</div>
<div class="content">
Some content
<table>
<tr>
<td>
{{ data }}
</td>
</tr>
</table>
</div>
{% endraw %}
{%raw%}
你好{{user}}
一些内容
{{data}}
{%endraw%}
为什么不把
“{{user}}”作为user
的值和“{{data}}”作为data
的值传递进去呢?当然可以,但这是一个相当大的开销,在这两个地方都维护所有变量。我想可能会有一种更“正式”的方法来做这件事——只是我在flask中没有遇到过——你有模板预处理器函数,可以用来处理样板变量