Python Django模板之模板过滤器与自定义模板过滤器示例
本文实例讲述了PythonDjango模板之模板过滤器与自定义模板过滤器。分享给大家供大家参考,具体如下:
模板过滤器
过滤器用于对模板变量进行操作。
date:改变日期的显示格式。
length:求长度。字符串,列表。
default:设置模板变量的默认值。
格式:模板变量|过滤器:参数
自定义过滤器。
自定义的过滤器函数,至少有一个参数,最多两个
例如:
{{book.btitle|length}}#返回字符串或列表的长度 {{book.bpub_date|date:'Y年-m月-d日'}}#格式化日期格式 {{content|default:'hello'}}#为不存在的变量指定默认值。
自定义模板过滤器
应用名/templatetags/filters.py(自定义过滤器函数,templatetags文件名固定):
#自定义过滤器 #过滤器其实就是python函数 fromdjango.templateimportLibrary #创建一个Library类的对象 register=Library() #自定义的过滤器函数,至少有一个参数,最多两个。(第一个参数就是要过滤的模板变量) @register.filter defmod(num): '''判断num是否为偶数''' returnnum%2==0 @register.filter defmod_val(num,val): '''判断num是否能被val整除''' returnnum%val==0
demo.html(模板文件,使用自定义过滤器):
{%loadfilters%}{#load标签加载自定义过滤器的py文件。和templatetags/filters.py的py文件名一致。#} 模板过滤器 {#{%ifbook.id|mod%}#}{#使用自定义的过滤器。需要先load自定义过滤器的py文件#} {%ifbook.id|mod_val:3%}{#使用自定义的过滤器#} 。。。 {%else%} 。。。 {%endif%}