报错代码:
'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
解决方法:
错误可能:
1. 在你的app目录下新建templatetags文件夹里没创建__init__.py定义为包
2. 程序编写问题
在templatetags下创建myfilter.py 文件
html文件中
3.settings.py未设置
上面是摘自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 %} <p>{{ dict.dxx|mmd:"xpg" }}</p>
一定不要加上空格。
。