在学习flask和jinja2,页面base.html模版上有个二级菜单需要从数据库取数据,因为每个页面都要继承这个模版,所以每次都要到数据库取一次数据,有没有什么解决办法?

2013-01-13 23:39:44 +08:00
 jmania
5264 次点击
所在节点    Python
6 条回复
iiduce
2013-01-13 23:49:13 +08:00
这种情况一般是在server端做cache。

jinja2没有提供cache tag,可以通过extension的方式添加。官方提供了示例: http://jinja.pocoo.org/docs/extensions/#example-extension (搜索)
jmania
2013-01-13 23:50:13 +08:00
@iiduce 谢谢,我看下
liuxurong
2013-01-14 00:15:22 +08:00
自己用redis缓存起来?
loading
2013-01-14 08:51:36 +08:00
可以粗暴地放到全局变量里…
BOYPT
2013-01-14 13:21:35 +08:00
加个cache decorator就好了,多优雅。
descusr
2013-04-18 14:50:53 +08:00
楼主解决了没有?我有两个方案,一个是使用过滤器;一个是使用markup。我也想使用cache decorator,但导入时候出问题。也想过使用jinjia的extension,但有点复杂,放弃了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/57481

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX