本文主要是介绍flask-cache 缓存Jinja2模板之源码解读,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
注:缓存jinja2模板的代码详见:flask-cache缓存的示例代码
1.缓存模板的关键代码:
模板cached_blueprint_app/templates/zen.html
定义缓存参数:
{% cache timeout %} #timeout是缓存超期时间
{% endcache %} # 缓存区域结束标记
文件cached_blueprint_app/app.py中实例一个当前应用的缓存:
app.cache = Cache(app)
2.源码解读
2.1 Cache类初始化的关键代码如下:
class Cache:def __init__(self,app=None,with_jinja2_ext=True,config=None):if app is not None:self.init_app(app, config) #<1> def init_app(self, app, config=None):if self.with_jinja2_ext:from .jinja2ext import CacheExtension, JINJA_CACHE_ATTR_NAME #<2>setattr(app.jinj
这篇关于flask-cache 缓存Jinja2模板之源码解读的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!