自定义标签和过滤器

发布时间 2023-11-27 19:19:17作者: 朱饱饱

1 自定义过滤器
-第一步:在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag
-第二步:在app中创建templatetags包(包名只能是templatetags,不能改)
-第三步:在包内,新建py文件(如:my_tags.py)
-第四步:写代码(过滤器)
from django import template
register = template.Library()
@register.filter
def my_upper(value):
return value.upper()
-第五步使用:(模板),先load,再使用
{% load my_tags %}
{{ 'aa'|my_upper }}


2 自定义标签
-第一步:在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag
-第二步:在app中创建templatetags包(包名只能是templatetags,不能改)
-第三步:在包内,新建py文件(如:my_tags.py)
-第四步:写代码(过滤器)
from django import template
register = template.Library()
@register.simple_tag
def my_csrf():
import uuid
res=uuid.uuid4()
return mark_safe('<input type="hidden" name="csrfmiddlewaretoken" value="%s">'%res)
-第五步使用:(模板),先load,再使用
{% load my_tags %}
{% my_csrf %}
{% my_tag 1 3 4 %}