Django web开发系列(五)模板
一 前言
在上一節(jié)了解到視圖函數(shù)處理后,會(huì)將結(jié)果渲染到創(chuàng)建的html頁面,但html如何接收并顯示視圖函數(shù)返回的動(dòng)態(tài)數(shù)據(jù)呢?最常用的做法就是使用模板(Template),本節(jié)將簡單介紹一下模板的作用和用法。 可以這樣簡單的理解模板的概念,模板是包含了html的靜態(tài)部分和模板語法,通過模板語法實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)的插入,最后拼接成完整的靜態(tài)html頁面。
二 模板應(yīng)用舉例
A. 定義一個(gè)模板如下:
#?index.html <!DOCTYPE?html> <html?lang="en"> <head>????<meta?charset="UTF-8"><title>模板使用說明</title> </head> <body>???<h1>{{?var_content?}}</h1> </body> </html>B. 在視圖函數(shù)中向模板傳遞數(shù)據(jù):
#?views.py from?django.shortcuts?import?renderdef?index(request):return?render(request,'index.html',{"?var_content?":"Hello?World!"})通過上面實(shí)例可以看出,事先創(chuàng)建的html不需要硬編碼,通過{{ var_content }}定義的變量,就可以接收視圖函數(shù)以字典形式傳遞的參數(shù)值(Hello World!)。因而,通過這種方式解決了前面提到的html顯示動(dòng)態(tài)數(shù)據(jù)的問題。 除了{(lán){}}定義變量,模板語言還有其他語法形式。
三 基本模板語法
模板語法主要包括四種結(jié)構(gòu),如下:
A. 變量
語法形式:{{ variable }} 說明:定義變量,視圖函數(shù)中以字典形式傳遞變量值,實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)向html的傳遞;
B. 標(biāo)簽
語法形式:{% tag %} 說明:通過標(biāo)簽可以實(shí)現(xiàn)靈活的結(jié)構(gòu)控制、輸出內(nèi)容、加載外部信息到模板;部分常用標(biāo)簽如下:
{%?csrf_token?%}?#?csrf標(biāo)簽、用于跨站請求偽造保護(hù){%?for?...?in?...?%}?#?for標(biāo)簽,用于循環(huán)…{%?endfor?%}{%?if?...%}??#?if標(biāo)簽,用于邏輯判斷{%?elif?...%}{%?else?%}{%?endif?%}C. 過濾器
語法形式:{ { 變量|過濾器 }} 說明:過濾器主要用于修改變量或標(biāo)簽參數(shù)的值,如:
{{?my_date|date:"Y-m-d"?}}?#?按指定的格式"Y-m-d",顯示日期D. 注釋
語法形式:
{%?comment?%}?#?comment標(biāo)簽?,用于注釋...{%?endcomment?%}{#?…?#}?#?單行注釋模板語法絕不僅限于此,在此只是說明,通過模板語法可以實(shí)現(xiàn)動(dòng)態(tài)html的生成,最終將后臺(tái)處理結(jié)果恰到好處的顯示在前端頁面。
四 其他資源
關(guān)于python學(xué)習(xí)、分享、交流,筆者開通了微信公眾號(hào)【小蟒社區(qū)】,感興趣的朋友可以關(guān)注下,歡迎加入,建立屬于我們自己的小圈子,一起學(xué)python。
轉(zhuǎn)載于:https://blog.51cto.com/2681882/2400129
總結(jié)
以上是生活随笔為你收集整理的Django web开发系列(五)模板的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(3108):react-hel
- 下一篇: react学习(19)----可以通过设