我尝试使用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不可见,但我不知道该怎么做。
答案 0 :(得分:1)
您的模板标记不应放在views.py
文件中。您需要在应用的templatetags
目录中创建一个模块。查看模板标记的code layout文档。
其次,请务必在使用{% load %}
标记之前在模板中加载代码。
如果您仍有问题,请更新您的问题并包含完整的追溯 - “模板语法错误”不足以让我们了解正在发生的事情。