伙计们,我看到了django的有线问题。我正在尝试创建自己的自定义过滤器,并且仅当我将其命名为“ cut”时,该过滤器才能起作用,但它永远无法与其他任何名称一起使用:
from django import template
register = template.Library()
@register.filter(name='cut')
def removeText(value, arg):
return value.replace(arg,'')
这就是我在模板中的称呼方式
<h1>{{text|cut:"hello"}}</h1>
这是错误消息,如果我将其重命名为@ register.filter(name ='cut1')
答案 0 :(得分:0)
我认为您忘记了在模板中加载模板标签过滤器,因为它使用的是Django内置的cut过滤器。
请勿将模板标签命名为与内置标签名称相同。
解决方案:
{% load cut1 %}
编辑:您应将包含过滤器功能的文件命名为cut1.py
,以将cut1
加载到模板中。
答案 1 :(得分:0)
您需要将其定义为模板标记,并在HTML中导入file.py
。
模板标记的文档
https://docs.djangoproject.com/en/2.1/howto/custom-template-tags/