过滤器

  • 语法如下
  • 使用管道符号|来应用过滤器,用于进行计算、转换操作,可以使用在变量、标签中
  • 如果过滤器需要参数,则使用冒号:传递参数
变量|过滤器:参数
  • 长度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/
  • 浏览效果如下图

标签