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()
我在 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()