day63-Django基礎-部分常用的模板語言(補充)
- 2019 年 10 月 7 日
- 筆記
1.default,變數為空或者不存在的時候,替換默認值
{{ value|default:"暫無資訊"}} 當我的 value 值不存在的時候,就會用 "暫無資訊" 來替換
2.length,顯示變數的長度
{{ value|length }} 返回value的長度,如 value=['a', 'b', 'c', 'd']的話,就顯示4
3.data,格式化當前時間
{{ value|date:"Y-m-d H:i:s"}} 按照當前訂製的格式,顯示時間
4.cut去值,類似循環做替換
{{ value|cut:' ' }} 如果 value 的值是 "from selenium import webdriver",則會變成"fromseleniumimportwebdriver",去了空格
5.timesince,一般用於 "多久之前" 的頁面顯示
{{ blog_date|timesince:comment_date }} 比如:我寫了這個部落格的時候,時間 blog_data 是13:00 然後 comment_data 是14:00, 那麼頁面上將顯示 "1小時", 一般 comment_data 使用當前時間,再加一點文字修飾,這樣就實現了"XX時候之前"
6.timeuntil,一般用於,"距離某事件還需要多久" 的頁面展示
{{ conference_date|timeuntil:from_date }} 比如:我要設定一個頁面的顯示,距離月底還剩多久 那麼:conference_data 這個變數就用於存儲 當前時間,比如9.25號 然後:form_data 裡面就放一個固定的時間,如果設定 9.30 號, 那麼:頁面就顯示 5 天 做一點文字裝飾,就實現了,"距離某事件還要 XX 時間"
7.自定義filter★★★★★,實現自定義的模板語言的過濾方法
具體步驟:
1.在 APP 目錄下面新建一個名為 templatetags 的 python 包
2.在新建的包裡面新建一個 python文件,名字自定義
3.在新建的python文件中,按照固定格式新建一個自定義的 filter

from django import template """ 固定格式 就這麼寫,連變數的名字都不要換 """ register = template.Library() @register.filter() def add_something(value): return value + 'something'
4.寫完之後,重新啟動Django項目
5.在 HTML 頁面中,{% load python文件名 %}
6.{{ value|自定義filter名字 }}
