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 %}

    
    

猜你喜欢

转载自www.cnblogs.com/wtil/p/9246412.html