本機(jī)環(huán)境
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比威遠(yuǎn)網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式威遠(yuǎn)網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋威遠(yuǎn)地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。操作系統(tǒng):fedora24
python版本:3.5
Django版本:1.11.1
jinja2版本:2.9.6
為何要更換
DTL
先來談?wù)凞jango的模板引擎,找了下,并沒有一個(gè)確定的名字,就簡(jiǎn)單的叫Django Templates Language(DTL),中文就叫Django模板語言。使用中,大家會(huì)發(fā)現(xiàn)很多局限性,最明顯的就是四則運(yùn)算。就只能加減,乘除都不支持。另外還有判斷相等,不能直接if,要用ifequal。確實(shí)不太方便。還有一點(diǎn),DTL很慢,jinja2宣稱比DTL快10-20倍。
jinja2
先來安裝,pip3 install jinja2。
配置:從Django1.8開始,支持第三方模板引擎,可以很容易的配置到。首先,在你的項(xiàng)目下建立一個(gè)jinja2_env.py,內(nèi)容如下:
#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': staticfiles_storage.url, 'url': reverse, }) return env