Django:切换到Jinja2?

我有几个小的(500或600行模板代码)Django站点,我想将它们迁移到使用Jinja2…但我想知道这将需要多少工作。那么,一般来说,将一个小型Django站点迁移到Jinja2需要做多少工作?“值得”吗

虽然这只是我自己的经历,但我发现从Django转换到Jinja2是值得的,原因如下:

  1. 作为一名软件开发人员和模板设计师,Jinja2的设计和实现对我来说似乎更直观
  2. Jinja2更具可扩展性(至少在我试图扩展模板引擎的方式上)
  3. Jinja2在允许运行逻辑代码方面更加灵活(但它给了您足够的束缚)
  4. Jinja2被认为速度要快得多(虽然我没有做任何基准测试,但根据所使用的测试,这一点总是有争议的,而且在任何情况下,对于必须进行DB查找的查询的总等待时间基本上是无关的)
  5. Jinja2比Django提供了更有用的错误输出(即跟踪到发生错误的模板中的行号)。编辑:根据Dor的评论,Django提供了指向问题行和上下文的有用错误消息,与Jinja2非常相似

如果您对Django的模板引擎没有任何问题,那么Jinja2应该感觉比较直观,如果可能更精巧一点的话(至少对我来说是这样)。同时,我发现Coffin项目写得很好,在从Django转换到Jinja2–都是为了它的使用,并且作为如何扩展Jinja2的示例

尽管如此,Django的模板引擎是可靠的,并且能够完成大多数任务。我相信在Django的下一个版本中,它正在得到改进,许多专门的开发人员都在努力增加它的功能。因此,不必担心它在近中期内会变得不受支持

再说一遍,这只是我的经验,值得一提的是–我希望这会有帮助

发表评论