Django的模版引擎與模版使用

Django的模版引擎與模版使用

模版引擎是模版響應的後端。模版指的是HTML、css,js等相關的文件。模版引擎是將這些表示層文件與數據相整合在一塊兒,而後將整合後的數據給到響應類型判斷採用一次性響應仍是流響應,肯定響應類型後將模版加工後的數據反饋給用戶。css

Django支持兩種模板引擎,Django模版引擎和Jinja2模版引擎。在settings.py文件中對模版引擎進行配置(BACKEND)。模版目錄在列表中的順序是搜索模版的順序。python

文件中是這樣寫的:django

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的鍵值是模版目錄。後端

模版的查找:this

使用get_template(template_name)方法查找,它是Template類。template_name是帶查找模版的名稱。它會在模版目錄列表中,依次查找某個模版,直到找到並返回Template類,若是沒有找到,則拋出TemplateDoesNotExist異常。url

將模版文件表達爲Template類型,進行數據加工,渲染爲能夠響應給用戶的既有模版表現,又有數據內涵的字符串的過程稱之爲渲染。spa

渲染語句:Template.render(context,request)中的Context參數是字典類型,用於加載到模版中的內容,request參數是HTTP請求。debug

若是有靜態的模版文件並不須要與數據整合在一塊兒時,則不須要渲染。code

實例代碼:blog

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)

相關文章
相關標籤/搜索