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