Jinja 文檔說明了以下關于行語句的內容:如果應用程序啟用了行語句,則可以將行標記為語句。在此視頻中,行語句是這樣啟用/配置的:from flask import Flaskapp = Flask(__name__)app.jinja_env.line_statement_prefix = '%'但是,在 Flask 1.0.4 中,我的應用程序對象沒有這個屬性。如何啟用和配置行語句?
1 回答

收到一只叮咚
TA貢獻1821條經驗 獲得超5個贊
所以根據消息來源,app.jinja_env是locked_cached_property在第一次訪問時創建的。所以我們不能直接在app.jinja_env.
我們可以做的是app.jinja_options在創建應用程序時進行設置,以便當 jinja 加載環境時,它會查看app.jinja_optionsFlask 中的默認值
jinja_options = {"extensions": ["jinja2.ext.autoescape", "jinja2.ext.with_"]}
因此,我相信以下內容應該可以滿足我們的需求
from flask import Flask
Flask.jinja_options = {'extensions': ['jinja2.ext.autoescape', 'jinja2.ext.with_'], 'line_statement_prefix': '%'}
app = Flask(__name__)
Flask 分解選項對象,將其傳遞給 Environment,它是 Jinja Environment 的子類,然后分配 line_statement_prefix。
添加回答
舉報
0/150
提交
取消