关于'selffilter' is not a registered tag library. Must be one of:

报错代码:

'selffilter' is not a registered tag library. Must be one of:
admin_list
admin_modify
admin_static
admin_urls
cache
i18n
l10n
log
static
staticfiles
tz

 解决方法:

关于'selffilter' is not a registered tag library. Must be one of:_第1张图片

 

 

错误可能:

1. 在你的app目录下新建templatetags文件夹里没创建__init__.py定义为包

关于'selffilter' is not a registered tag library. Must be one of:_第2张图片

 

2. 程序编写问题

在templatetags下创建myfilter.py 文件

关于'selffilter' is not a registered tag library. Must be one of:_第3张图片

 

html文件中

 

3.settings.py未设置

关于'selffilter' is not a registered tag library. Must be one of:_第4张图片

 上面是摘自https://blog.csdn.net/qq_40326481/article/details/80342480

补充其他的方法:

不知道是我的版本问题还是必须的这么写,我在检查了上面的几种方法之后还是报相同的错误,找了好久,终于找到了出错地地方

原来的代码:

from django import template
registor = template.Library() #注册

#告诉Djiango这个函数的名字是mmd
@registor.filter(name="mmd")
def mmd1(arg,name):
    return "%s亲了%s一下"%(arg,name)

 

修改:由于我的单词写成了registor,所以一直报错。

把单词改为register就不报错了,难道统一了入口?

from django import template
register = template.Library() #注册

#告诉Djiango这个函数的名字是mmd
@register.filter(name="mmd")
def mmd1(arg,name):
    return "%s亲了%s一下"%(arg,name)

 注意在调用函数的时候,

{% load selffilter %}

{{ dict.dxx|mmd:"xpg" }}

 

 一定不要加上空格。

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/accolade/p/10782162.html

你可能感兴趣的:(关于'selffilter' is not a registered tag library. Must be one of:)