Django的模版引擎与模版使用

Posted xsan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django的模版引擎与模版使用相关的知识,希望对你有一定的参考价值。

Django的模版引擎与模版使用

模版引擎是模版响应的后端。模版指的是html、css,js等相关的文件。模版引擎是将这些表示层文件与数据相整合在一起,然后将整合后的数据给到响应类型判断采用一次性响应还是流响应,确定响应类型后将模版加工后的数据反馈给用户。

Django支持两种模板引擎,Django模版引擎和Jinja2模版引擎。在settings.py文件中对模版引擎进行配置(BACKEND)。模版目录在列表中的顺序是搜索模版的顺序。

文件中是这样写的:

TEMPLATES = [
    {
        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,
            ],
        },
    },
]

 

BACKEND的键值是模版引擎的配置,DIRS的键值是模版目录。

模版的查找:

使用get_template(template_name)方法查找,它是Template类。template_name是带查找模版的名称。它会在模版目录列表中,依次查找某个模版,直到找到并返回Template类,如果没有找到,则抛出TemplateDoesNotExist异常。

将模版文件表达为Template类型,进行数据加工,渲染为可以响应给用户的既有模版表现,又有数据内涵的字符串的过程称之为渲染。

渲染语句:Template.render(context,request)中的Context参数是字典类型,用于加载到模版中的内容,request参数是HTTP请求。

如果有静态的模版文件并不需要与数据整合在一起时,则不需要渲染。

实例代码:

Views.py

from django.shortcuts import render,HttpResponse
from django.template import Template,Context
def test(request):

    template= Template("<h1>this test name is {{ name}}</h1>")

    context = Context({"name":"ceshi"})

    return HttpResponse(template.render(context))

  

在urls.py的urlpatterns列表里加上path(‘test/‘,views.test)

 

以上是关于Django的模版引擎与模版使用的主要内容,如果未能解决你的问题,请参考以下文章

Smarty模版引擎的原理

使用Visual Studio Code自定义代码模版

Django入门_day_2:Django模版语言

Django框架模版渲染与过滤器使用

Django框架模版继承与组件使用

django基础知识之定义模板: