Django3.0使用-模板引擎使用

作为一个MVC的web开发框架,Django菜用模板方式用于页面显示。在工程中使用模块,需要加载模块引擎。Django的模块引擎模板情况情况下通过配置文件配置文件,具体而言,对settings.py 中的 TEMPLATES中的 BACKEND 值进行设置。

Django的模板引擎有2个,应用略有差异

DjangoTemplates 引擎

这个模块为默认模板,在进行设置时需引入 django.template.backends.django.DjangoTemplates ,范例如下:

TEMPLATES = [
    {
        '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',
                'myStudy.mycontent.custom_proc',
            ],
        },
    },
]

DjangoTemplates 引擎默认认可的模块目录为 templates,在应用的app下建立了 templates目录,其中的模板文件可以被直接调用

Jinja2 引擎

这个模块为可选模板,在进行设置时需引入 django.template.backends.jinja2.Jinja2,范例如下:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.jinja2.Jinja2',
        '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',
                'myStudy.mycontent.custom_proc',
            ],
        },
    },
]

采用这个模块时需要提前安装jinja2插件(pip install jinja2),否则将无法正常运行。

另外,对应默认加载工程,需要注释掉相关的管理模块,在settings.py 中进行如下设置:

INSTALLED_APPS = [
# 'django.contrib.admin',



在urls.py中进行如下设置

urlpatterns = [
# path('admin/', admin.site.urls),

管理模块采用了django.template.backends.django.DjangoTemplates 进行解释,如果单纯加载django.template.backends.jinja2.Jinja2 而不注释相关的管理模块则会编译报错。

Jinja2 引擎默认认可的模块目录为 Jinja2 ,在应用的app下建立了 Jinja2 目录,其中的模板文件可以被直接调用

其他

在不采用默认模板目录的情况下,需要设置settings.py 中的 TEMPLATES中的 DIRS 值

 

 

你可能感兴趣的:(Django)