文章仅供学习,错误欢迎提出
小写 {{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