阅读Jinja2文档后,我有兴趣在将来的Django项目中使用它.但是,我想知道是否有人在使用Django的Jinja2模板时遇到任何缺点或陷阱?如果是这样,你是如何解决它们的?
我也不介意听到积极的经历,只是为了获得Jinja2最好和最差的好横截面.
我在一些项目中使用Jinja2,并且喜欢它给我的额外表现力.我可以将我的表示逻辑和应用程序逻辑分开,但我不必向后弯腰调用我专门为我的表示层设计的函数/方法.
除了已经被其他海报列出的内容之外,以下是我发现的一些内容:
Admin应用程序与Django模板紧密耦合
Auth应用程序(以及其他地方)附带的默认视图和装饰器与Django模板相关联,因此如果要使用Jinja2模板进行登录/注销/等,则可能需要重复工作.
行为上,Django模板默认会逃避输出,而Jinja2则不会.我认为任何一种方法都有其自身的优点,但如果你在两者之间切换,你必须牢记这一点.
我还没有将Jinja2与实际的Django网站一起使用,但我确实将使用Django模板的应用程序在独立模式下转换为Jinja2模板.我遇到的唯一(非常小的)问题是缺少{%spaceless%}模板标记.
我在我的维基上记录了Django - > Jinja2的几个语法,配置,过滤器和互操作性注意事项