django自定义标签和过滤器

2023-08-08  本文已影响0人  biubiudog

自定义标签可以分为三种类型:简单标签(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 %}

上一篇下一篇

猜你喜欢

热点阅读