在上一節瞭解到視圖函數處理後,會將結果渲染到建立的html頁面,但html如何接收並顯示視圖函數返回的動態數據呢?最經常使用的作法就是使用模板(Template),本節將簡單介紹一下模板的做用和用法。 能夠這樣簡單的理解模板的概念,模板是包含了html的靜態部分和模板語法,經過模板語法實現動態數據的插入,最後拼接成完整的靜態html頁面。html
A. 定義一個模板以下:前端
# index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>模板使用說明</title> </head> <body> <h1>{{ var_content }}</h1> </body> </html>
B. 在視圖函數中向模板傳遞數據:python
# views.py from django.shortcuts import render def index(request): return render(request,'index.html',{" var_content ":"Hello World!"})
經過上面實例能夠看出,事先建立的html不須要硬編碼,經過{{ var_content }}定義的變量,就能夠接收視圖函數以字典形式傳遞的參數值(Hello World!)。於是,經過這種方式解決了前面提到的html顯示動態數據的問題。 除了{{}}定義變量,模板語言還有其餘語法形式。django
模板語法主要包括四種結構,以下:微信
A. 變量app
語法形式:{{ variable }} 說明:定義變量,視圖函數中以字典形式傳遞變量值,實現動態數據向html的傳遞;ide
B. 標籤函數
語法形式:{% tag %} 說明:經過標籤能夠實現靈活的結構控制、輸出內容、加載外部信息到模板;部分經常使用標籤以下:學習
{% csrf_token %} # csrf標籤、用於跨站請求僞造保護
{% for ... in ... %} # for標籤,用於循環 … {% endfor %}
{% if ...%} # if標籤,用於邏輯判斷 {% elif ...%} {% else %} {% endif %}
C. 過濾器編碼
語法形式:{ { 變量|過濾器 }} 說明:過濾器主要用於修改變量或標籤參數的值,如:
{{ my_date|date:"Y-m-d" }} # 按指定的格式"Y-m-d",顯示日期
D. 註釋
語法形式:
{% comment %} # comment標籤 ,用於註釋 ... {% endcomment %}
{# … #} # 單行註釋
模板語法毫不僅限於此,在此只是說明,經過模板語法能夠實現動態html的生成,最終將後臺處理結果恰到好處的顯示在前端頁面。
關於python學習、分享、交流,筆者開通了微信公衆號【小蟒社區】,感興趣的朋友能夠關注下,歡迎加入,創建屬於咱們本身的小圈子,一塊兒學python。