过滤器
- 语法如下
- 使用管道符号|来应用过滤器,用于进行计算、转换操作,可以使用在变量、标签中
- 如果过滤器需要参数,则使用冒号:传递参数
变量|过滤器:参数
- 长度length,返回字符串包含字符的个数,或列表、元组、字典的元素个数
- 默认值default,如果变量不存在时则返回默认值
data|default:'默认值'
- 日期date,用于对日期类型的值进行字符串格式化,常用的格式化字符如下
- Y表示年,格式为4位,y表示两位的年
- m表示月,格式为01,02,12等
- j表示日,格式为1,2等
- H表示时,24进制,h表示12进制的时
- i表示分,为0-59
- s表示秒,为0-59
value|date:"Y年m月j日 H时i分s秒"
示例
- 打开booktest/views.py文件,创建视图guolvqi
def guolvqi(request):
context={'list':BookInfo.objects.all()}
return render(request,'booktest/guolvqi.html',context)
- 打开booktest/urls.py文件,配置url
url(r'^guolvqi/$', views.guolvqi),
- 在templates/booktest下创建guolvqi.html
<head>
<title>过滤器</title>
</head>
<body>
图书列表如下:
<ul>
{%for book in list%}
{%if book.btitle|length > 4%}
<li style="background-color: red">
{{book.btitle}}
---默认时间格式为:
{{book.bpub_date}}
</li>
{%else%}
<li style="background-color: blue">
{{book.btitle}}
---格式化时间为:
{{book.bpub_date|date:"Y-m-j"}}
</li>
{%endif%}
{%endfor%}
</ul>
</body>
</html>
http://127.0.0.1:8000/guolvqi/