python - 如何在 Jinja 2 中使用 3rd 方应用模板标签?

标签 python django templates django-templates jinja2

我正在为我的 Django 网站尝试 Jinja2。

现在,由于 Jinja2 不是官方的 Django 模板引擎,并且它拒绝识别/加载我在 Jjinja2 之前使用的模板标签。

现在,即使必须更改模板标签的创建,那如何才能在第 3 方应用中反射(reflect)出来呢?

在那种情况下,似乎不可能使用 Jinja2,因为系统必须按照 Jinja2 工作。

(我也在使用 coffin 作为 Jinja-Django 的适配器)。

最佳答案

根据 coffin docs您将不得不将任何自定义的 django 模板标签重写为自定义的 Jinja2 扩展。

您还可以使用 jinja2 宏功能来模拟 Django 的模板标签。最显着的区别是,对于 Jinja2 宏,有必要通过模板上下文提供所有上下文数据,而在 Django 标记中,您可以使用其他方式访问数据(例如从数据库加载或调用其他 Python 库)。

我使用 Jinja2 模板有一段时间了,从来没有需要创建自定义模板标签。

可以在网站上的一个应用程序中使用 django 模板,而在另一个应用程序中使用 jinja2,这不是问题,但是从 django 模板导入或扩展 jinja2 模板并不容易,反之亦然。

关于python - 如何在 Jinja 2 中使用 3rd 方应用模板标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10949388/

相关文章:

python - 更改 python 中的特定附加 xml 元素会更改所有附加元素

python - 无法安装ffmpeg

python - OpenCV - 在 python 中创建椭圆形掩模

Python 多处理和 Django - 我很困惑

python - Django 告诉我模板不存在

c++ - 在 UML 中绘制模板类

python - Sqlalchemy 对 dict 列表的查询

python - Django Social Auth 中的 AuthAlreadyAssociated 异常

c++ - static const 成员变量的模板类 vs static const 成员变量初始化

eclipse - 在 Eclipse 中显示方法名称和参数值的模板