jinja2模板引擎配置
安装jinja2模板引擎
pip install jinja2
设置jinja2环境变量
在应⽤⽬录下,创建jinja2_env.py配置⽂件
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
配置(setting.py)
独⽴使⽤jinja2,不使⽤Django模板引擎
#独⽴使⽤jinja2
INSTALLED_APPS = [
#'django.contrib.admin', # 注释了admin
.....
]#模板配置
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',
],
'environment': 'App.jinja2_env.environment', # 配置环
境,jinja的配置⽂件位置
},
},
]
两个同时使用
TEMPLATES = [{
'BACKEND': 'django.template.backends.jinja2.Jinja2',#jinja2模 版
'DIRS': [
os.path.join(BASE_DIR, 'templates2'),#修改模版⽂件位置
],
'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',
],
'environment': 'App.jinja2_env.environment', # 配置环
境,jinja的配置⽂件位置
},
},
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'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',
],
},
},
]