django自定义标签和过滤器

自定义标签可以分为三种类型:简单标签(simple_tag)、引用标签(inclusion_tag)、赋值标签(assignment_tag)

操作步骤:
1.在应用下创建一个templatetags的python packages
2.在templatetags下创建一个py文件, 名称可以自定义
3.写入代码, 使用装饰器:

from django import template
register = template.Library()

# 自定义过滤器,最多只能有两个参数
@register.filter
def num_filter(x,y):
    return x+y

# 自定义标签,可以有多个参数
@register.simple_tag
def num_simple_tag(x,y):
    return x+y

html中使用时, 需要

  <!-- 需要先load 自定义的过滤器或者标签py文件   -->
    {%  load my_first_filter_or_tag %}

    <!-- 过滤器写法: |过滤器名称:参数   -->
    {{ 10|num_filter:10 }}

    <!-- 过滤器判断写法   -->
    {% if 34|num_filter:44 > 60 %}
        <p>合格,成绩为:{{ 34|num_filter:44 }}</p>
    {% else %}
        <p>不合格</p>
    {% endif %}

    <!--  标签  -->
    {% num_simple_tag 3 5 %}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容