jinja2模板引擎配置
# 1. 安装jinja2模板引擎
pip install jinja2
# 2. 设置jinja2环境变量(在主应用中创建 jinja2_env.py)
# 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
# 3. 将settings.py中 INSTALLED_APPS = ['django.contrib.admin'] 将后台管理 注释掉(注册app的列表里):
# 4. 将 主应用 urls.py 中的 admin 引入 注释掉(因为引用的是django模板,会报错)
# 5. 将模板注释掉,只使用jinja2模板(settings.py)
TEMPLATES = [
{
'BACKEND': 'django.template.backends.jinja2.Jinja2', # 修改为jinja2模板
'DIRS': [os.path.join(BASE_DIR, 'jinja_templates')], # 使用自定义模板
'APP_DIRS': True,
'OPTIONS': {
'environment':"Bbc.jinja2_env.environment",# 重置jinja2环境变量
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]