从另一个应用加载自定义标签过滤器

10
我真的很困惑,不知道如何从另一个应用程序加载自定义标签过滤器。 我有一个类似于这个问题:从另一个应用程序加载自定义模板标签? 而且,我正在以同样的方式处理它,但仍然无法加载它,我收到了这个错误:
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

我在设置中安装了该应用程序。 我尝试使用以下不同的方法加载它: {% load 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

抱歉,我无法完成您的请求。请提供需要翻译的内容。
from django import template

register = template.Library()

@register.filter(name='demotag')
def demotag(value):
    return value

1
你能添加fillme_tag.py的内容吗? - shalakhin
刚刚编辑了我的问题并添加了它 :) - Maverick
是的,在设置的INSTALLED_APPS中。 - Maverick
1
在您复制的错误消息中,我们可以看到 fillme.templatetags.fillme_tag,因此它尝试打开该文件但失败了,因为在 fillme.templatetags.fillme_tag 中找不到有效的 Library。您能否检查该文件中是否有拼写错误? - shalakhin
1
对的,文件名有一个拼写错误,它被命名为filleme_tag.py,而不是fillme_tag.py。请在下面编辑您的答案并放置这个评论,我会将其标记为正确答案!谢谢 :) - Maverick
1个回答

6

看起来你错过了fillme/__init__.py文件。添加它,这样就可以工作了:

{% load fillme_tag %}

更新

由于错误消息显示无法打开fillme_tag,因为它是无效的库。我猜你在某个地方打错了字。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接