Python Django模板之模板過濾器與自定義模板過濾器示例
本文實例講述了Python Django模板之模板過濾器與自定義模板過濾器。分享給大家供大家參考,具體如下:
模板過濾器
過濾器用于對模板變量進行操作。
date:改變?nèi)掌诘娘@示格式。
length:求長度。字符串,列表。
default:設(shè)置模板變量的默認值。
格式:模板變量|過濾器:參數(shù)
自定義過濾器。
自定義的過濾器函數(shù),至少有一個參數(shù),最多兩個
例如:
{{ book.btitle|length }} # 返回字符串或列表的長度 {{ book.bpub_date|date:'Y年-m月-d日' }} # 格式化日期格式 {{ content|default:'hello' }} # 為不存在的變量指定默認值。
自定義模板過濾器
應(yīng)用名/templatetags/filters.py(自定義過濾器函數(shù),templatetags文件名固定):
# 自定義過濾器 # 過濾器其實就是python函數(shù) from django.template import Library # 創(chuàng)建一個Library類的對象 register = Library() # 自定義的過濾器函數(shù),至少有一個參數(shù),最多兩個。(第一個參數(shù)就是要過濾的模板變量) @register.filter def mod(num): '''判斷num是否為偶數(shù)''' return num%2 == 0 @register.filter def mod_val(num, val): '''判斷num是否能被val整除''' return num%val == 0
demo.html(模板文件,使用自定義過濾器):
<!DOCTYPE html> <html lang="en"> {% load filters %} {# load標簽加載自定義過濾器的py文件。和templatetags/filters.py 的py文件名一致。 #} <head> <meta charset="UTF-8"> <title>模板過濾器</title> </head> <body> <ul> {# {% if book.id|mod %}#} {# 使用自定義的過濾器。需要先load自定義過濾器的py文件 #} {% if book.id|mod_val:3 %} {# 使用自定義的過濾器 #} 。。。 {% else %} 。。。 {% endif %} </ul> </body> </html>
希望本文所述對大家基于Django框架的Python程序設(shè)計有所幫助。
相關(guān)文章
攻擊者是如何將PHP Phar包偽裝成圖像以繞過文件類型檢測的(推薦)
這篇文章主要介紹了攻擊者是如何將PHP Phar包偽裝成圖像以繞過文件類型檢測的,需要的朋友可以參考下2018-10-10Python實現(xiàn)冒泡排序的簡單應(yīng)用示例
這篇文章主要介紹了Python實現(xiàn)冒泡排序的簡單應(yīng)用,結(jié)合實例形式分析了Python基于冒泡排序?qū)崿F(xiàn)的輸入字符串數(shù)字排序與運算操作,需要的朋友可以參考下2017-12-12python 將list轉(zhuǎn)成字符串,中間用符號分隔的方法
今天小編就為大家分享一篇python 將list轉(zhuǎn)成字符串,中間用符號分隔的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10python如何使用雙線性插值計算網(wǎng)格內(nèi)數(shù)據(jù)
這篇文章主要介紹了python如何使用雙線性插值計算網(wǎng)格內(nèi)數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08