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 中的模板标签?可能的?的主要内容,如果未能解决你的问题,请参考以下文章

flask基础(下篇)

Flask框架从入门到精通之模板初识

flask 配置文件 路由 视图 模板 中间件

Flask中的Templates

Django模板的继承

Flask--模板