0
点赞
收藏
分享

微信扫一扫

【django】配置Jinja2模板引擎【2】

夕颜合欢落 2022-01-05 阅读 66

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'
举报

相关推荐

0 条评论