本机环境
操作系统:fedora24
python版本:3.5
django版本:1.11.1
jinja2版本:2.9.6
为何要更换
dtl
先来谈谈django的模板引擎,找了下,并没有一个确定的名字,就简单的叫django templates language(dtl),中文就叫django模板语言。使用中,大家会发现很多局限性,最明显的就是四则运算。就只能加减,乘除都不支持。另外还有判断相等,不能直接if,要用ifequal。确实不太方便。还有一点,dtl很慢,jinja2宣称比dtl快10-20倍。
jinja2
先来安装,pip3 install jinja2。
配置:从django1.8开始,支持第三方模板引擎,可以很容易的配置到。首先,在你的项目下建立一个jinja2_env.py,内容如下:
#from __future__ import absolute_import # 如果是py2就取消这行的注释
from django.contrib.staticfiles.storage import staticfiles_storage
from django.urls import reverse
from jinja2 import environment
def environment(**options):
env = environment(**options)
env.globals.update({
'static