python - 如何查看 flask 最終輸出的jinja模板
問題描述
我在模板中寫了個 for 循環(huán),類似 {% for n in Data %} 這樣的,然后我想看 flask 把這個 for 循環(huán)展開后最終生成的模板文件,應(yīng)該怎么去查看? 我不要通過瀏覽器查看源代碼的方式。
問題解答
回答1:flask 使用jinja模塊,直接調(diào)用就可以了, 如下
In [5]: from jinja2 import TemplateIn [6]: template = Template(’{% for n in Data %} {{ n}} {% endfor %}’)In [7]: Data = range(10) ...: In [8]: template.render(Data=Data) ...: Out[8]: u’ 0 1 2 3 4 5 6 7 8 9 ’
參考:http://docs.jinkan.org/docs/j...
回答2:使用 render_template_string 即可, 傳參方式和 render_template 類似,只是第一個參數(shù)為讀取的模板內(nèi)容, 而不是模板文件路徑示例代碼如下(簡短演示,就不寫路由, 直接用 app_context 模擬訪問):
from flask import ( Flask, render_template_string)app = Flask(__name__)tpl_args = { ’Data’: [1, 2, 3, 4, 5]}with app.app_context(): result = render_template_string(’{% for n in Data %} {{ n }} {% endfor %}’, **tpl_args) print(result)
輸出如下:
相關(guān)文章:
1. 文本處理 - 求教使用python庫提取pdf的方法?2. JAVA 版本問題?3. python - 有沒有關(guān)于Pyhton web開發(fā)的相關(guān)論壇或者書?4. java - Spring Mvc全局異常處理器@ControllerAdvice不起作用?5. html5 - vue怎么實現(xiàn)像京東天貓banner圖片圖片點擊放大,并可滑動到下一張6. css - 使手機(jī)版可左右托移?7. html5和Flash對抗是什么情況?8. 為什么我ping不通我的docker容器呢???9. html5 - 百度echart官網(wǎng)下載的地圖json數(shù)據(jù)亂碼10. javascript - Vue.js2.0不能使用debounce后大伙一般是如何解決延遲請求的問題的呢。
