文章僅供學習,錯誤歡迎提出
小寫 {{name|lower}}
大寫 {{name|upper}}
串聯:先轉義文字到HTML,再轉換每行到
標籤 {{mytext|escape|linebreaks}}
顯示前30個字 {{bio|truncateword:''30"}}
顯示前30個英文 {{bio|truncateword:"30"}}
格式化時間 {{pub_date|"F j, Y"}}
新增數值 {{123|add:"5"}}
{{ "abcd"|capfirst }} 第一個字母大寫
{{ "abcd"|center:"50" }} 輸出指定長度的字串,並把值對中
{{ "123spam456spam789"|cut:"spam" }} 查詢刪除指定字串
{{ value|default:"(N/A)" }} 值不存在,使用指定值
{{ value|default_if_none:"(N/A)" }} 值是None,使用指定值
{{ 列表變數|dictsort:"數字" }} 排序從小到大
{{ 列表變數|dictsortreversed:"數字" }} 排序從大到小
{{ list|first }} 返回列表第一個元素
{{ 列表變數|dictsort:"數字" }} 排序從小到大
{{ 列表變數|dictsortreversed:"數字" }} 排序從大到小
{% if 92|divisibleby:"2" %} 判斷是否整除指定數字
{{ string|escape }} 轉換為html實體
{{ 21984124|filesizeformat }} 以1024為基數,計算最大值,保留1位小數,增加可讀性
{{list|join:","}} 用指定分隔符連結列表
{{list|length}} 返回列表個數
https://www.douban.com/note/145065606/
後臺過濾器
在後臺我們通過獲取表的資料會有一下幾種方法,在這裡我們假設Student是我們的表
Student.objects.all()獲取所有的資料
Student.objects.get(name="1") 得到名字為1的資料,只能得到一條,多條會出現錯誤
get是用來獲取一個物件的,如果需要獲取滿足條件的一些人,就要用到filter
Student.objects.filter(name=“abc”) 名字叫abc的所有人 相當於 (name__exact="abc")
Student.objects.filter(name_iexact=“abc”) 名稱為 abc 但是不區分大小寫,可以找到 ABC, Abc, aBC,這些都符合條件
Student.objects.filter(name__contains="abc") # 名稱中包含 "abc"的人 Student.objects.filter(name__icontains="abc") #名稱中包含 "abc",且abc不區分大小寫
Student.objects.filter(name__regex="^abc") # 正規表示式查詢 Student.objects.filter(name__iregex="^abc")# 正規表示式不區分大小寫
filter是找出滿足條件的,當然也有排除符合某條件的
Student.objects.exclude(name__contains="WZ") # 排除包含 WZ 的Person物件 Student.objects.filter(name__contains="abc").exclude(age=23) # 找出名稱含有abc, 但是排除年齡是23歲的
__gt 大於
__gte 大於等於
__lt 小於
__lte 小於等於
__in 存在於一個list範圍內
__startswith 以…開頭
__istartswith 以…開頭 忽略大小寫
__endswith 以…結尾
__iendswith 以…結尾,忽略大小寫
__range 在…範圍內
__year 日期欄位的年份
__month 日期欄位的月份
__day 日期欄位的日
__isnull=True/False