我有这个项目:
app/
app/Items/
app/Management/
...
<{1>} Management
我有templatetags
,我有整个项目的标签。
app/Management/templatetags/main_filters.py
app/Management/templatetags/__init__.py
在文件中,我有:
from django import template
register = template.Library()
@register.filter(name='createmenu')
def createmenu(value):
...
然后在 html 模板中我有:
{%load main_filters%}
...
{{dataList|createmenu}}
...
和 settings.py 我已进入INSTALLED_APPS:
...
"Management.templatetags",
...
最后我总是有下一个错误:
'main_filters' is not a valid tag library:
Template library main_filters not found, tried django.templatetags.main_filters,
django.contrib.staticfiles.templatetags.main_filters,
django.contrib.admin.templatetags.main_filters
我已尝试将其(./Management/templatetags Folder
)置于文件夹 ITEMS 中,并在settings.py
中使用Items.templatetags
进行更改,并且可以正常使用。发生了什么事?
提前致谢。
答案 0 :(得分:1)
您可能需要INSTALLED_APPS
内的“管理”,而不是“Management.templatetags”。只要调用templatetags
,已安装应用的{% load %}
内的模块就会自动加载。
此外,错误显示只检查了三个路径
...尝试了django.templatetags.main_filters, django.contrib.staticfiles.templatetags.main_filters, django.contrib.admin.templatetags.main_filters
然后我们可以得出结论,Management.templatetags.main_filters
没有得到检查,通常有几个原因:
__init__.py
目录中缺少templatetags
。你有一个。Management
未正确安装。案件。