Django模板過濾器和繼承示例詳解
模板過濾器
定義:在變量輸出時(shí)對(duì)變量的值進(jìn)行處理
作用:可以通過使用過濾器來改變變量的輸出顯示
語法:{{變量 | 過濾器:'參數(shù)值1' | 過濾器2:'參數(shù)值2' ...}}
常用的過濾器
過濾器 | 說明 |
---|---|
lower | 將字符串全部轉(zhuǎn)換為小寫 |
upper | 將字符串全部轉(zhuǎn)換為大寫 |
safe | 默認(rèn)不對(duì)變量?jī)?nèi)的字符串進(jìn)行 html 轉(zhuǎn)義 |
add:“n” | 將calue值增加n |
truncatechars:‘n' | 如果字符多于指定的字符數(shù)量,那么會(huì)被截?cái)唷=財(cái)嗟淖址畬⒁钥煞g的省略號(hào)序列("…")結(jié)尾 |
模板的繼承
模板的繼承可以使父模板的內(nèi)容重用,子模板直接繼承父模板的全部?jī)?nèi)容并可以覆蓋父模板中響應(yīng)的塊
語法(父模板):
- 定義父模板中的塊 block 標(biāo)簽
- 標(biāo)識(shí)出哪些在字模塊中是允許被修改的
- block 標(biāo)簽:在父模板中定義,可以再子模板中覆蓋
語法(子模板):
繼承模板,extends
標(biāo)簽,寫在模板文件的第一行
例如: {% extends ‘base.html' %}
子模板重寫父模板中的內(nèi)容塊
{% block block_name %} 需要覆蓋 block_name 塊的內(nèi)容 {% endblock block_name %} #此時(shí)的 block_name 可以不寫
模板繼承樣例
views.py
def base_view(request): return render(request,'base.html') def music_view(request): return render(request,'music.html') def sport_view(request) return render(request,'sport.html')
在 templates文件夾中寫入對(duì)應(yīng)html文件:
- base.html
- music.html
- sport.html
base.html
<head> <meta charset="utf-8"> {% block mytitle %} <title> 主頁 </title> {% endblock mytitle%} </head> <body> <a href="/music_index"> 音樂頻道 </a> <a href="/sport_index"> 體育頻道 </a> <br> {% block info %} 這是主頁 {% endblock info %} <h3>有問題請(qǐng)聯(lián)系XXXX</h3> </body> </html>
sport.html
{% extends 'base.html' %} {% block mytitle %} <title> 體育頻道 </title> {% block info %} 歡迎來到體育頻道 {% endblock info %}
music.html
{% extends 'base.html' %} {% block mytitle %} <title> 音樂頻道 </title> {% block info %} 歡迎來到音樂頻道 {% endblock info %}
在url.py里綁定對(duì)應(yīng)路由
path('base_index',views.base_view) path('music_index',views.music_view) path('sport_index',views.sport_view)
測(cè)試結(jié)果
注意:模板繼承時(shí),服務(wù)器端的動(dòng)態(tài)內(nèi)容無法繼承
總結(jié)
到此這篇關(guān)于Django模板過濾器和繼承的文章就介紹到這了,更多相關(guān)Django模板過濾器和繼承內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python?數(shù)據(jù)可視化超詳細(xì)講解折線圖的實(shí)現(xiàn)
數(shù)據(jù)可以幫助我們描述這個(gè)世界、闡釋自己的想法和展示自己的成果,但如果只有單調(diào)乏味的文本和數(shù)字,我們卻往往能難抓住觀眾的眼球。而很多時(shí)候,一張漂亮的可視化圖表就足以勝過千言萬語,讓我們來用Python實(shí)現(xiàn)一個(gè)可視化的折線圖2022-03-03Python采集貓眼兩萬條數(shù)據(jù) 對(duì)《無名之輩》影評(píng)進(jìn)行分析
這篇文章主要給大家介紹了關(guān)于利用Python榮國(guó)采集兩萬條貓眼數(shù)據(jù),對(duì)《無名之輩》影評(píng)進(jìn)行分析的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12python報(bào)錯(cuò)TypeError: ‘NoneType‘ object is not subscriptable的解決
這篇文章主要給大家介紹了關(guān)于python報(bào)錯(cuò)TypeError: ‘NoneType‘ object is not subscriptable的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11Pycharm配置Anaconda環(huán)境的詳細(xì)圖文教程
PyCharm是一款很好用很流行的python編輯器,Anaconda通過管理工具包、開發(fā)環(huán)境、Python版本,大大簡(jiǎn)化了你的工作流程,下面這篇文章主要給大家介紹了關(guān)于Windows系統(tǒng)下Pycharm配置Anaconda環(huán)境的相關(guān)資料,需要的朋友可以參考下2023-02-02Python通過字典映射函數(shù)實(shí)現(xiàn)switch
這篇文章主要介紹了Python通過字典映射函數(shù)實(shí)現(xiàn)switch,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11基于Mediapipe+Opencv實(shí)現(xiàn)手勢(shì)檢測(cè)功能
mediaPipe,他就是一個(gè)集成好的包括人臉關(guān)鍵位點(diǎn)識(shí)別、身體關(guān)鍵位點(diǎn)識(shí)別、手部關(guān)鍵位點(diǎn)識(shí)別的一個(gè)包或者庫,直接調(diào)用就能夠得到它的關(guān)鍵位點(diǎn)信息,本文給大家介紹Mediapipe+Opencv實(shí)現(xiàn)手勢(shì)檢測(cè)功能,感興趣的朋友一起看看吧2022-01-01PyCharm安裝PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步驟詳解
這篇文章主要介紹了PyCharm安裝PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步驟,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11