django-DIL模板自定义过滤器

Posted .Tang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django-DIL模板自定义过滤器相关的知识,希望对你有一定的参考价值。

  • 自定义过滤器
    • 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
]

 

以上是关于django-DIL模板自定义过滤器的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段1——vue主模板

VSCode自定义代码片段(vue主模板)

VSCode自定义代码片段2——.vue文件的模板

如何在片段着色器中进行自定义模板测试

pycharm自定义代码模板

django自定义模板标签和过滤器