过滤器基本知识
1. 可以通过过滤器来修改变量的显示,过滤器的形式是:{{ variable | filter }},管道符号'|'代表使用过滤器
2. 过滤器能够采用链式的方式使用,例如:{{ text | escape | linebreaks }}
3. 过滤器还可以带参数,例如: {{ bio|truncatewords:30 }}
4. 过滤器的参数中如果带有空格,那么需要用引号引起来,例如:{{ list | join : ", "}}
5. django中30个内置的过滤器
内置过滤器
使用形式为:{{ value | add: "2"}} 意义:将value的值增加2 使用形式为:{{ value | capfirst }} 意义:value的第一个字符转化成大写形式 使用形式为: (a) {{ value | date:"Y-m-d h:i:s" }} 例如:如果value是一个datetime对象(datetime.datetime.now()) 那么输出将是字符串"Wed 09 Jan 2008" (b) {{ value | date }},这种形式没有格式化字符串,这时候,格式化字符串会自动采用DATE_FORMAT所设置的形式。 意义:将日期格式数据按照给定的格式输出 使用形式:{{ value | default: "nothing" }},例如,如果value是"",那么输出将是nothing 意义:如果value的意义是False,那么输出使用缺省值 使用形式:{{ value | divisibleby:arg}},如果value是21,arg是3,那么输出将是True 意义:如果value能够被arg整除,那么返回值将是True 使用形式:{{ value | first }} 意义:返回列表中的第一个Item,例如,如果value是列表['a','b','c'],那么输出将是'a'。 使用形式:{{value | safe}} 进行HTML标签转换 意义:当系统设置autoescaping打开的时候,该过滤器使得输出不进行escape转换 使用形式:{{value | slugify}} 意义:将value转换成小写形式,同时删除所有分单词字符,并将空格变成横线 例如:如果value是how are you,那么输出将是how-are-you 使用形式:{{value | truncatewords:2}} 意义:将value切成truncatewords指定的单词数目 例如:如果value是how are you 那么输出将是:how are …
自定义过滤器
创建自定义过滤器
1. 在应用包下创建一个名为"templatetags"的python package
2. 在包中创建一个自定义的py文件
自定义过滤器代码
urlpatterns = [ url(r'^getdata/$', views.getdata_view), url(r'^getdata2/$', views.getdata2_view), url(r'^filter/$', views.filter_view), ]
def filter_view(request): content = '''####过滤器''' return render(request, 'filter.html', {'content': content})
模板层
over......
备案号:湘ICP备19000029号
Copyright © 2018-2019 javaxl晓码阁 版权所有