Jinja2 Flask Python按钮横跨多个页面

时间:2016-08-07 23:36:03

标签: python flask jinja2

使用烧瓶渲染模板功能,您可以快速雕刻复杂的页面。 我想要一个小的“向上投票”“模块”.html文件,它包含了使按钮工作所需的所有脚本和html。

在jinja中,您可以使用“extends to”标签将当前部分插入到extend调用的部分中,但是您可以从任何模板中调用模块吗?

所以1对多关系而不是多对1。

我可以在我想要的页面中插入按钮的所有代码,但我觉得将这个小模块包含在我需要的所有内容中会更好 - 而且速度更快。我也可以单独对这个模块进行更改,这将由整个项目继承。

有点像网站嵌入。

我想过几种方法,比如将按钮的信息解析为render_template函数的变量,但是你会建议做什么?

1 个答案:

答案 0 :(得分:0)

您应该使用include语句。这类似于在普通Python中使用import

但请注意,Jinja2也有import声明。这与include不同,因为import面向使用文件中的宏和可执行代码;什么都没有呈现。因此,如果您要分离使用Jinja2语句执行的常见任务,则可以将这些任务导出到文件中的宏,然后在模板中import

但是,如果要包含渲染输出,这就是你正在做的事情,请坚持include