【发布时间】:2023-04-02 15:12:02
【问题描述】:
我真的很困惑如何从另一个应用程序加载自定义标签过滤器。 我有类似的问题Load custom template tag from another application? 而且,我正在以相同的方式执行此操作,但仍然无法加载,并且出现此错误:
TemplateSyntaxError at /
'fillme_tag' is not a valid tag library: Template library fillme_tag not found, tried django.templatetags.fillme_tag,django.contrib.staticfiles.templatetags.fillme_tag,fillme.templatetags.fillme_tag
我在设置中也安装了该应用程序。 我尝试使用如下所述的各种方式加载它: {% 加载 fillme_tag %} {% load fillme.fillme_tag %} #filleme 是应用名称。
结构如下:
my_project:
app1:
templates:
index.html (this is where i want to load custom tag)
views.py
__init__.py
fillme:
templatetags:
__init__.py
fillme_tag.py (the tag lib)
__init__.py
-----fillme_tag.py 的内容----
from django import template
register = template.Library()
@register.filter(name='demotag')
def demotag(value):
return value
【问题讨论】:
-
可以添加fillme_tag.py的内容吗?
-
刚刚编辑了我的问题并添加了它:)
-
是的,它在设置中的INSTALLED_APPS中
-
在您复制的错误消息中,我们可以看到
fillme.templatetags.fillme_tag,因此它试图打开它但失败了,因为它在fillme.templatetags.fillme_tag中找不到有效的Library。你能检查一下那个文件里有没有错字吗? -
对,文件名有错别字,被命名为filleme_tag.py,而不是fillme_tag.py。请在下面编辑您的答案并将此评论放在那里,我会将其标记为正确答案!谢谢:)
标签: django django-templates django-1.5 django-filter