1. 程式人生 > >Django4.1_template之變量和過濾器

Django4.1_template之變量和過濾器

ado ges 引號 oca 進一步 diango 原理 方便 cto

一.簡述
在現在的web實際開發中,為了更加規範的編碼及方便後期的項目規劃,我們要求前後端分離,前端更進一步要求布局(HTML)、樣式(CSS)、行為(JS)分離。在django中,我們把template分離出來作為一個獨立的模塊來處理HTML。本章節主要講解django中的template模塊的使用。
二.模板語法
模板組成:HTML+邏輯代碼
三.模板之邏輯代碼
1.模板渲染的原理
兩個概念:
template:模板
context:上下文
渲染原理(過程):
A.Django先通過Template生成一個實例化template對象;
B.Diango再通過Context生成一個實例化context對象;
C.Djangi通過template實例調用渲染方法(例如:render())來渲染生成結果;
如圖:
技術分享圖片
代碼塊如下:

>> from django.template import Template,Context
>> template = Template("welcome to {{name}}.")
>> context = Context({‘name‘:‘浙江‘})
>> template.render(context)
‘welcome to 浙江.‘

註:以上的過程是在django內部實現的,比較復雜,所以我們直接使用django封裝好的方法實現該效果即可,即render(request,’template對象文件’,data)或render(request,’template對象文件’,local())

同一個模板對象可以重復使用。
2.模板之變量
2.1格式:{{varname}}
在HTML中使用雙引號包裹變量名,再通過view中將變量對應的值傳過來(傳值有兩種方式:1.{key:value};2.locals())。
實例代碼如下:
技術分享圖片
技術分享圖片
技術分享圖片
2.2變量的類型及變量深度查詢
變量可以是字符串、字典、列表、元組、對象等等。
如圖:
技術分享圖片

技術分享圖片
頁面效果圖:
技術分享圖片
註:在template中使用的均是深度查詢,即只能通過符號.(點)進行下一級查詢且所有的序列數據類型均能使用索引正常查詢但不能使用方括號的格式,只能使用var.index的格式,不能使用var[index]或dic[key]的格式。
2.3
3.模板之過濾器
註:該部分圖片來自網絡(如有侵權,聯系刪除)

技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

歡迎關註筆者個人公眾號:
技術分享圖片

Django4.1_template之變量和過濾器