返回介绍

自定义过滤器

发布于 2023-06-06 16:30:43 字数 3470 浏览 0 评论 0 收藏 0

自定义过滤器

  • 过滤器就是python中的函数,注册后就可以在模板中当作过滤器使用,下面以求余为例开发一个自定义过滤器mod

示例

  • 在应用中创建templatetags目录,当前示例为”booktest/templatetags“,创建init文件,内容为空

自定义过滤器

  • 在”booktest/templatetags“目录下创建filters.py文件,代码如下
#coding=utf-8
#引入注册对象
from django.template import Library
register=Library()

#使用装饰器进行注册
@register.filter
#定义求余函数mod,将value对2求余
def mod(value):
    return value%2
  • 在templates/booktest/guolvqi.html中,使用自定义过滤器
  • 首先使用load标签引入模块
{%load filters%}
  • 在遍历时根据编号判断奇偶,代码改为如下

自定义过滤器

  • 运行服务器,浏览效果如下

自定义过滤器

  • 过滤器可以接收参数,将booktest/templatetags/filters.py中增加mod_num函数
#使用装饰器进行注册
@register.filter
#定义求余函数mod_num,将value对num求余
def mod_num(value,num):
    return value%num
  • 在templates/booktest/guolvqi.html中修改遍历时判断代码

自定义过滤器

  • 运行服务器,浏览效果如下

自定义过滤器

  • 说明:只能额外传递一个参数

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文