1. 程式人生 > 程式設計 >Python Django框架模板渲染功能示例

Python Django框架模板渲染功能示例

本文例項講述了Python Django框架模板渲染功能。分享給大家供大家參考,具體如下:

專案名/settings.py(專案配置,配置模板檔案的路徑):

import os
# 專案目錄的絕對路徑
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
TEMPLATES = [
  {
    'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [os.path.join(BASE_DIR,'templates')],# 設定模板檔案目錄(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',],},]

應用名/views.py(檢視,使用模板的詳細步驟):

from django.http import HttpResponse
from django.template import loader,RequestContext
# 定義檢視函式 (必須傳遞HttpRequest引數) (需要在urls.py中配置路由)
def index(request):
  # 1.獲取模板
  template = loader.get_template('應用名/index.html')  # 需要在settings.py中配置模板目錄
  # 2.定義上下文 (分配的模板變數)
  context = RequestContext(request,{'title':'圖書列表','list':range(10)})
  # 3.渲染模板並返回 (生成html內容)
  return HttpResponse(template.render(context))

應用名/views.py(檢視,使用模板的簡單寫法,render):

from django.shortcuts import render # 匯入render
# 檢視函式
def index(request):
  context = {'title':'圖書列表','list':list(range(1,10))}  # 字典,分配給模板的變數
  return render(request,'應用名/index.html',context) # render對模板的使用步驟進行了封裝。 第三個引數可以省略不寫 

templates/應用名/index.html(模板檔案,需要手動建立,settings.py中配置模板路徑):

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>模板檔案</title>
</head>
<body>
<h1>這是一個模板檔案</h1>
使用模板變數:<br/>
{{ title }}<br/>
使用列表:<br/>
{{ list }}<br/>
for迴圈:<br/>
<ul>
  {% for i in list %}
    <li>{{ i }}</li>
  {% endfor %}
</ul>
</body>
</html>

模板變數使用:{{ 模板變數名 }}

模板程式碼段:{% 程式碼段 %}

for迴圈:

  {% for i in list %}
  {% empty %}
    如果遍歷的list是空列表,就會顯示該內容。
  {% endfor %}

模板檔案的載入(查詢)順序:

希望本文所述對大家基於Django框架的Python程式設計有所幫助。