我在所有的金甲档案里都有共同的东西。我想把所有常见的内容都移到一个Jinja文件中。
我的应用程序是用Flask编写的,我正在将上下文传递给Jinja模板,如
def f1(name): render_template('j1.jinja', name=name)
def f2(name): render_template('j2.jinja', name=name)
def f3(name): render_template('j3.jinja', name=name)
我的j1.jinja文件是:
{%block content %}
Name: {{ name }}
Hello
{% endblock %}我的j2.jinja文件是:
{%block content %}
Name: {{ name }}
Bye
{% endblock %}我的j3.jinja文件是:
{%block content %}
Name: {{ name }}
Howdy
{% endblock %}我将常见内容移到单个Jinja文件common.jinja中,即:
{% block content %}
Name : {{name}}
{% endblock %}我把它包括在金甲的所有档案里,比如:
{% include 'common.jinja' with { "name": name } only %}这不起作用。我得到了例外:
Exception Occured. Explanation: expected token 'end of statement block', got 'with'如何将上下文传递给包含Jinja文件?
发布于 2016-02-17 07:28:45
你的代码看起来有点奇怪。没有单独的with语句指定上下文,通常与import语句一起使用的是with context (参见导入上下文行为)。
要将任何上下文传递给包含的模板,只需使用上下文变量呈现父模板,例如在render_template()中
render_template('j3.jinja', name=name)https://stackoverflow.com/questions/35449415
复制相似问题