- 自定义过滤器
- DTL模板语言生来只是为了方便的展示信息,所以与编程语言相比显得有点薄弱,有时候不能满足我们的需求。因此django提供了一个接口,让开发者能自定义标签和过滤器。
- 首先,你需要添加一个templatetags的文件夹, 自定义过滤器必须处在已经安装了的app中的一个名叫”templatetags”的包(文件夹)中。因此可以有两种选择:
- 一种是放在其他已经安装了的app中。这种方式简单,但不方便管理。
- 单独创建一个app,用来存放所有的自己定义的过滤器。 推荐使用
- ps: templatetags 文件夹名字不能修改,这是django固定死的
1.使用上述第二种创建公用的app utils ------ 工具,在utils app下创建templatetags固定名称
在templatetags下创建py文件,编写过滤器
2.py文件中 utils.templatetags.py
# coding=utf-8 from django import template # 代表该文件是自定义标签名 register固定写法 register = template.Library() # html模板中调用{{ msg|myCut:‘args‘ }} @register.filter # 过滤器装饰器 def myCut(value, args): # 根据需求编写代码 return u‘自定义过滤器某些字符返回小写: %s‘ % (value.replace(args, ‘‘).lower())
3.***需要在settings文件中导入该app utils
INSTALLED_APPS = [ ‘django.contrib.admin‘, ‘django.contrib.auth‘, ‘django.contrib.contenttypes‘, ‘django.contrib.sessions‘, ‘django.contrib.messages‘, ‘django.contrib.staticfiles‘, ‘utils‘, # 创建自定义过滤器需要引入该app ]
原文地址:https://www.cnblogs.com/tangpg/p/9007572.html
时间: 2024-10-20 08:08:13