这篇文章将为大家详细讲解有关Python 中怎么自定义模板过滤器,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
模板过滤器
过滤器用于对模板变量进行操作。
date:改变日期的显示格式。
length:求长度。字符串,列表。
default:设置模板变量的默认值。
格式:模板变量|过滤器:参数
自定义过滤器。
自定义的过滤器函数,至少有一个参数,最多两个
例如:
{{ book.btitle|length }} # 返回字符串或列表的长度 {{ book.bpub_date|date:'Y年-m月-d日' }} # 格式化日期格式 {{ content|default:'hello' }} # 为不存在的变量指定默认值。
自定义模板过滤器
应用名/templatetags/filters.py(自定义过滤器函数,templatetags文件名固定):
# 自定义过滤器 # 过滤器其实就是python函数 from django.template import Library # 创建一个Library类的对象 register = Library() # 自定义的过滤器函数,至少有一个参数,最多两个。(第一个参数就是要过滤的模板变量) @register.filter def mod(num): '''判断num是否为偶数''' return num%2 == 0 @register.filter def mod_val(num, val): '''判断num是否能被val整除''' return num%val == 0
demo.html(模板文件,使用自定义过滤器):
<!DOCTYPE html> <html lang="en"> {% load filters %} {# load标签加载自定义过滤器的py文件。和templatetags/filters.py 的py文件名一致。 #} <head> <meta charset="UTF-8"> <title>模板过滤器</title> </head> <body> <ul> {# {% if book.id|mod %}#} {# 使用自定义的过滤器。需要先load自定义过滤器的py文件 #} {% if book.id|mod_val:3 %} {# 使用自定义的过滤器 #} 。。。 {% else %} 。。。 {% endif %} </ul> </body> </html>
关于Python 中怎么自定义模板过滤器就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。