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

Django4.1_template之變數和過濾器

一.簡述
在現在的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())來渲染生成結果;
如圖:
Django4.1_template之變數和過濾器


程式碼塊如下:

>> 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())。
例項程式碼如下:
Django4.1_template之變數和過濾器


Django4.1_template之變數和過濾器
Django4.1_template之變數和過濾器
2.2變數的型別及變數深度查詢
變數可以是字串、字典、列表、元組、物件等等。
如圖:
Django4.1_template之變數和過濾器

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

歡迎關注筆者個人公眾號:
Django4.1_template之變數和過濾器