Django:'tag'不是注册的标签库错误
Posted
技术标签:
【中文标题】Django:\'tag\'不是注册的标签库错误【英文标题】:Django : 'tag' is not a registered tag library errorDjango:'tag'不是注册的标签库错误 【发布时间】:2020-05-12 21:35:42 【问题描述】:在我的模板中加载自定义标签时出现此错误。我访问过很多关于此的主题,并确保确认我没有犯一些常见错误:
包含标签的文件位于templatetags
文件夹中。
此templatetags
文件夹包含一个__init__.py
文件。
应用程序actualites
位于设置中的INSTALLED_APPS
列表中。
我在模板的开头使用了% load mes_tags %
。
这是我的应用程序的文件结构:
actualites/
__init__.py
SOME FILES
templatetags/
__init__.py
mes_tags.py
mes_tags.py
from django import template
register = template.Library()
@register.simple_tag(takes_context=True)
def param_replace(context, **kwargs):
d = context['request'].GET.copy()
for k, v in kwargs.items():
d[k] = v
for k in [k for k, v in d.items() if not v]:
del d[k]
return d.urlencode()
我得到的错误如下:
TemplateSyntaxError at /
'mes_tags' is not a registered tag library. Must be one of:
LIST OF TAGS
谁能告诉我我做错了什么? 提前致谢!
【问题讨论】:
【参考方案1】:您需要在设置中添加此标签库(对于 Django >= 1.9):
TEMPLATES = [
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS':
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'app.apptemplates.load_setting',
],
'libraries':
'custom_templatetag': 'actualites.templatetags.mes_tags',
,
]
您可以阅读更多here
【讨论】:
以上是关于Django:'tag'不是注册的标签库错误的主要内容,如果未能解决你的问题,请参考以下文章
django 中的“TemplateSyntaxError at / 'humanize' 不是注册的标签库”
Django 3.0.8 'bootstrap' 不是注册标签库。必须是以下之一:
Django 1.10.1 'my_templatetag' 不是注册标签库。必须是以下之一:
/'staticfiles' 处的 Django TemplateSyntaxError 不是已注册的标签库。必须是以下之一: admin_list admin_modify admin_urls