assignment_tag TemplateSyntaxError

时间:2012-03-30 17:59:08

标签: python django

我尝试使用django docs中的assignment_tag:https://docs.djangoproject.com/en/1.4/howto/custom-template-tags/#howto-custom-template-tags-simple-tags

测试项目:

mysite/
manage.py
polls/
    views.py
    ...
mysite/
    ...
templates/
    polls/
        detail.html

在民意调查/ views.py中:

from django.template import Library

register = Library()

@register.assignment_tag
def get_text():
    return 'TEST TEXT'

然后我将代码添加到templates / polls / detail.html

{% get_text as text %}
<p>The text is {{ text }}.</p>

但这不起作用,我知道get_text不可见,但我不知道该怎么做。

1 个答案:

答案 0 :(得分:1)

您的模板标记不应放在views.py文件中。您需要在应用的templatetags目录中创建一个模块。查看模板标记的code layout文档。

其次,请务必在使用{% load %}标记之前在模板中加载代码。

如果您仍有问题,请更新您的问题并包含完整的追溯 - “模板语法错误”不足以让我们了解正在发生的事情。