python - jinja2 模板的片段缓存
问题描述
我正在尝试在 Django 的上下文中提高我的 jinja2 模板的渲染性能(从 django 引擎更改为 jinja2 已经显着增加了大约 5 倍的渲染时间)。
对于上下文,我有一个相当大的模板,其中主要部分始终保持不变,使它们适合缓存的想法。然后模板中的其他剩余部分几乎总是与之前的调用不同,从而使它们不太适合缓存。
我有拆分我的模板的想法,以便有一个基本模板(具有不变的部分)和使用动态部分扩展基本模板的子模板。这背后的想法是缓存基本模板,但是我找不到任何可以验证这个想法的文档。
我遇到的另一种方法是模板片段缓存(https://docs.djangoproject.com/en/3.2/topics/cache/#template-fragment-caching),看起来很有希望,但我无法理解关于如何使用 jinja2 引擎来实现这个结果。
我想对这两种方法进行性能测试,因此正在寻找有关如何使用 jinja2 实现片段缓存的指导,并在基础模板单独缓存的情况下进行验证。
在 jinja2 模板中使用扩展机制时,基础模板是否单独缓存?
编辑:在评论后更改为更明确的问题
解决方案
推荐阅读
- node.js - node-postgres:数据库“database_name”不存在错误
- python-3.x - 在python中同时使用范围和长度函数
- python - 将python字符串输出导出到记事本
- sql - sqlite - 根据字段值将 2 行中的相同字段组合成 2 列
- list - 对列表中值的数量进行分类
- azure - 条纹 - Blazor - 天蓝色
- python - 无意中在 matplotlib 中绘制多条线
- python - 保存/加载双端队列
- sql - 从 SAP/Sybase ASE 上的事务中运行 sp_rename 的解决方法(错误 17260)
- lucene - 如果在 Lucene 8.6.1 中未操作索引,docids 是否不变?