Flask 中的模板标签?可能的?
Posted
技术标签:
【中文标题】Flask 中的模板标签?可能的?【英文标题】:template tags in Flask? Possible? 【发布时间】:2012-08-12 14:08:58 【问题描述】:当我尝试 Django 时,我真的很喜欢那里的模板标签。我快速阅读了 Flask 文档,可能遗漏了一些东西,但似乎这种以某种类似方式工作的东西并没有在 Flask 中实现?如果没有,也许有一些扩展或者可能以某种方式深入到 API 这可以实现?
如果不是...那么你们如何加载模板中的内容,例如所有页面的通用内容?就像我想在我的网站上显示最新的博客条目一样。
谢谢!
【问题讨论】:
你读过 Flask 文档吗? flask.pocoo.org/docs/templating/# 所以你建议使用上下文处理器或这个 g 对象? @IgnasB。是的,上下文处理器是 Flask 方式。 【参考方案1】:Flask 替代 Django 模板标签是 Context Processors。
【讨论】:
但是有没有像 django 中的 contains_tag 这样的东西,所以我可以包含与主模板分开的具有特定上下文的子模板? 类似% include "sidebar.html" without context %
?
include without context
不会让我根据参数传递自定义上下文。我想我要找的是macro
(在某些情况下是上下文处理器)。如果子模板不需要参数化,可以使用include without context
+ context processor
。
总结一下:根据文档,似乎可以使用以下几种方法在 Flask 中模拟 Django inclusion_tag
(使用自定义参数化上下文呈现子模板的能力):选项 a) @ 987654328@ + context processor
(如果需要额外的自定义上下文,则使用上下文处理器),选项 b)使用 % with %% set ...
语句将本地上下文变量临时重命名为子模板使用的名称,然后包含子模板 @987654331 @以上是关于Flask 中的模板标签?可能的?的主要内容,如果未能解决你的问题,请参考以下文章