Django-自定义标签,过滤器

Posted wtil

tags:

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

步骤:

  1. 在设置中找到 INSTALLED_APPS 在后面添加注册app
    INSTALLED_APPS = [
        django.contrib.admin,
        django.contrib.auth,
        django.contrib.contenttypes,
        django.contrib.sessions,
        django.contrib.messages,
        django.contrib.staticfiles,
        app01.apps.App01Config,
        app02,
    ]

     

  2. 创建存放自定义标签,过滤器的文件夹(文件名是固定的,必须是:templatetags)
  3. 编写逻辑
    from django import template
    
    #变量名称不能变 Django固定名称
    register=template.Library()
    
    
    @register.filter #加上此装饰器说明是过滤器
    def multi_fliter(x,y):
    
        return x*y
    
    @register.simple_tag #加上此装饰器说明是标签
    def multi_tag(x,y):
    
        return x*y

     

  4. 应用
    <h1>自定义标签,过滤器</h1>
    
    <h5>导入</h5>
    {% load my_tag_filter %}
    
    
    <h6>过滤器</h6>
    {{ 7|multi_fliter:5 }}
    
    
    <h6>标签</h6>
    {% multi_tag 7 7 %}


     注意:

    
    

        过滤器最多之能传入两个参数,如果过滤器返回的结果可以参与if判断

        标签可以传入多个参数,但是不能参与if判断

     

    {% if 7|multi_fliter:5 >100 %}

    <p>大于100</p>

    {% else %}

    <p>小于100</p>

    {% endif %}

    
    






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

django 第五课自定义模板过滤器与标签

Django之自定义标签,过滤器,以及inclusion_tag

Django(自定义过滤器和自定义标签)

Django-自定义标签,过滤器

如何为 Django 对象创建自定义过滤器标签?

Django入门--自定义过滤器与标签