Django 自定义模板标签未加载

Django custom template tags not loading

我在 Django 1.8 项目中使用自定义模板标签时遇到问题。这是发生了什么:

TemplateSyntaxError at /
Invalid block tag: 'custom_foo'
Request Method: GET
Request URL:    <...>
Django Version: 1.8.3
Exception Type: TemplateSyntaxError
Exception Value:    
Invalid block tag: 'custom_foo'

我的文件夹看起来像:

my_app
|---templatetags
    |---__init__.py
        myapp_extras.py

myapp_extras.py

from django import template
register = template.Library()

@register.filter
def custom_foo():
    return 'bar'

我正在使用 PyCharm5 进行开发。 一定是少了什么。

我的 base.html 模板顶部有 {% load myapp_extras %}

您已将custom_foo()注册为过滤器,请尝试将其注册为标签:https://docs.djangoproject.com/en/1.8/howto/custom-template-tags/,例如:

from django import template
register = template.Library()

class BarNode(template.Node):
  def render(self, context):
    return 'bar'

@register.tag
def custom_foo(parser, token):
  return BarNode()