首页 > 解决方案 > jinja2 模板的片段缓存

问题描述

我正在尝试在 Django 的上下文中提高我的 jinja2 模板的渲染性能(从 django 引擎更改为 jinja2 已经显着增加了大约 5 倍的渲染时间)。

对于上下文,我有一个相当大的模板,其中主要部分始终保持不变,使它们适合缓存的想法。然后模板中的其他剩余部分几乎总是与之前的调用不同,从而使它们不太适合缓存。

我有拆分我的模板的想法,以便有一个基本模板(具有不变的部分)和使用动态部分扩展基本模板的子模板。这背后的想法是缓存基本模板,但是我找不到任何可以验证这个想法的文档。

我遇到的另一种方法是模板片段缓存(https://docs.djangoproject.com/en/3.2/topics/cache/#template-fragment-caching),看起来很有希望,但我无法理解关于如何使用 jinja2 引擎来实现这个结果。

我想对这两种方法进行性能测试,因此正在寻找有关如何使用 jinja2 实现片段缓存的指导,并在基础模板单独缓存的情况下进行验证。

在 jinja2 模板中使用扩展机制时,基础模板是否单独缓存?

编辑:在评论后更改为更明确的问题

标签: pythondjangojinja2

解决方案


推荐阅读