我有一个具有以下代码结构的页面:
Python代码:
from flask import Flask,render_template
app=Flask(__name__)
@app.route('/')
def home():
return render_template("first.html")
@app.route('/second')
def next():
return render_template("second.html")
if __name__=="__main__":
app.run(debug=True)
second.html的HTML代码:
{% extends first.html %}
<dosomething>
</dosomething>
现在,我要将“ Jinja环境”设置如下:
环境:
import jinja2
JINJA_ENV=jinja2.Environment(block_start_string='#%',block_end_string="#%",variable_start_string='{',variable_end_string='}')
我希望这种变化能够反映在Flask中。应该使用Flask以某种方式初始化此变量还是将其保持不变?
它没有公开记录,但是一个Flask()
对象具有.jinja_options
将用于构建Jinja环境的命令。只要确保尽快设置它即可。
来源:
https://github.com/pallets/flask/blob/bbb273bb761461ab329f03ff2d9002f6cb81e2a4/src/flask/app.py#L272
https://github.com/pallets/flask/blob/bbb273bb761461ab329f03ff2d9002f6cb81e2a4/src/flask/app.py#L652
例子:
from flask import Flask
from jinja2 import ChainableUndefined
app = Flask(__name__)
app.jinja_options["undefined"] = ChainableUndefined