說我使用return render_template('index.html', users=users)
。是否可以在模板中獲取文件名,而不必在視圖內部明確發送它?如何獲取Jinja2模板中當前模板的文件名?
回答
如果您只需要基本名稱,則可以使用{{ self }}
,它將返回一個包含模板基本名稱的repr字符串,例如<TemplateReference 'view.html'>
。如果您需要完整的路徑,你可以用一個過濾器,例如分析此,{{ self | quoted }}
@app.template_filter('quoted')
def quoted(s):
l = re.findall('\'([^\']*)\'', str(s))
if l:
return l[0]
return None
,例如,「/full/path/to/view.html」你可能要繼承模板。
它不起作用。當我嘗試你的解決方案時,會出現此錯誤:TemplateAssertionError:沒有名爲'quoted'的過濾器 – renatov
@renatov:你在哪裏有@app.template_filter('quoted')?過濾器是否已正確註冊到Flask應用程序? – PartialOrder
儘管未公開,{{ self._TemplateReference__context.name }}
將給出模板名稱。並且在self._TemplateReference__context
之後可以使用一些間隔屬性。
你可以,例如,將它添加到您的最頂層基本模板:
<meta name="template" content="{{ self._TemplateReference__context.name }}">
這樣看着頁面的源代碼將幫助您快速找到相關的模板文件。如果您不想公開這類信息,請以測試環境爲條件。
- 1. 在sphinx jinja2模板中,獲取當前文檔的路徑
- 2. 如何獲取當前執行的模板文件名?
- 3. jinja2從模板加載模板文件
- 4. 如何獲取(當前模板的)父模板實例
- 5. 如何從Jinja2模板對象獲取模板源
- 6. 獲取當前模板名稱?
- 7. Smarty獲取當前模板文件名/行
- 8. Mako模板:如何找到當前模板包含的模板的名稱?
- 9. ReSharper的文件模板 - 提取當前文件名
- 10. 在模板中獲取當前URL kwargs?
- 11. Meteor.js:如何從模板中獲取模板的名稱?
- 12. 如何調試Jinja2模板?
- 13. 如何獲取當前項目模板名稱?
- 14. 在Jinja2模板中包含html文件
- 15. 如何獲取Jinja2模板中的參數列表
- 16. 如何獲取模板內的模板名稱
- 17. 如何獲取模板模板參數的模板參數?
- 18. Jinja2模板繼承
- 19. 在Jinja2中命名爲Twap模板宏
- 20. 如何在magento-1.9的模板文件中獲取當前類別的圖像?
- 21. 如何獲取GAE模板中當前頁面的網址
- 22. 如何獲取Django模板中的當前URL?
- 23. 如何獲取模板中當前URL的本地化版本?
- 24. 如何在Jinja2模板中解碼&#
- 25. XSLT當前模板模式?
- 26. 獲取模板名稱 - Smarty
- 27. 如何從Rails中的佈局模板獲取當前視圖名稱?
- 28. Jinja2的模板 - for循環
- 29. 利用{在Jinja2的模板%
- 30. 如何獲取Joomla 1.5當前模板的路徑?
只是想知道:你想做什麼? (感興趣的回答) –
我第二@JeffTratner。您想做什麼? – Apalala
我想根據文件名添加一個類到主體。例如,如果它是「user-details.html」模板,我想添加一個相應的類
來通過javascript來正確管理它。 –