首页 > 开发 > Python > 正文

Python Django模板之模板过滤器与自定义模板过滤器示例

2024-09-09 19:02:12
字体:
来源:转载
供稿:网友

本文实例讲述了Python Django模板之模板过滤器与自定义模板过滤器。分享给大家供大家参考,具体如下:

模板过滤器

过滤器用于对模板变量进行操作。

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.filterdef mod(num):  '''判断num是否为偶数'''  return num%2 == 0@register.filterdef 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>

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表