1、安装Jinja2扩展包
pip install Jinja2
2、创建Jinja2模板引擎环境
在项⽬包⽬录-->utils⽬录中创建jinja2_env.py⽂件
from jinja2 import Environment
from django.contrib.staticfiles.storage import staticfiles_storage
from django.urls import reverse
"""
确保可以使⽤模板引擎中的{{ url('') }} {{ static('') }}这类语句 """
def environment(**options):
env = Environment(**options)
env.globals.update({
'static':staticfiles_storage.url,
'url': reverse, })
return env
3、配置Jinja2模板引擎
注意 Django2.2中配置模板引擎,⾃带的Django模板引擎配置不能删除
TEMPLATES = [
{
'BACKEND': 'django.template.backends.jinja2.Jinja2', # jinja2模板引擎
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
# 因jinja2不能直接使用context_processor
],
# 补充Jinja2模板引擎环境
'environment': 'mango_project.utils.jinja2_env.environment',
},
},
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
WSGI_APPLICATION = 'mango_project.wsgi.application'