Django:切换到Jinja2?

Dav*_*ver 56 django django-templates jinja2

我有一些小的(500或600行模板代码)Django站点,我想将它们迁移到使用Jinja2 ......但是我想知道它将会有多少工作.那么,一般来说,将一个小的Django站点迁移到Jinja2有多少工作?它是否"值得"?

Bri*_*unt 53

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

  1. 作为软件开发人员和模板设计师,Jinja2的设计和实现对我来说似乎更直观;
  2. Jinja2更具可扩展性(至少在我试图扩展模板引擎的方式上);
  3. Jinja2在允许运行逻辑代码方面更灵活(但它给你足够的绳索让自己挂起);
  4. Jinja2被认为速度明显更快(虽然我没有做过任何基准测试,但是根据所使用的测试,这总是存在争议,并且在任何情况下,在必须进行数据库查找的查询的总等待时间内基本上无关紧要);
  5. Jinja2提供了比Django更有用的错误输出(即跟踪到发生错误的模板中的行号). 编辑:根据Dor的评论,Django提供了有用的错误消息,指出问题的界限和背景,就像Jinja2一样.

如果你对Django的模板引擎没有任何麻烦,那么Jinja2应该感觉相对直观,如果可能更加精致(或者它对我来说无论如何).同时,我发现该Coffin项目写得很好,并且在从Django转换为Jinja2时非常有用 - 两者都是为了它的使用,以及如何扩展Jinja2的一个例子.

话虽如此,Django的模板引擎非常可靠,能够胜任大多数任务.我相信它在Django的下一个版本中得到了改进,并且有相当多的努力要由相当多的专门开发人员添加其功能.因此,不用担心它在近中期未来会得不到支持.

再一次,这只是我的经验,值得的 - 我希望这有用.