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

时间:2013-07-06 21:20:48

标签: django django-templates django-1.5 django-filter

我真的很困惑,如何从其他应用加载自定义标记过滤器。 我有类似这样的问题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

我也在设置中安装了app应用程序。 我尝试使用下面提到的各种方法加载它: {%load fillme_tag%} {%load fillme.fillme_tag%} #filleme是appname。

结构如下:

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

1 个答案:

答案 0 :(得分:5)

好像你错过了fillme/__init__.py。添加它,这必须工作:

{% load fillme_tag %}

<强>更新

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