Django模板标记网址不起作用

时间:2012-08-28 16:54:56

标签: django url

我收到此错误,该错误是由网址模板标记引起的:

在模板C:\ Users \不要恐慌\ BitNami DjangoStack项目\ Templates \ polls \ index.html,第5行出错

我真的不知道为什么会这样。我尝试删除该行,它工作正常,所以我认为这是唯一一个导致麻烦。

(BTW我在Django 1.4.1中)

此外,我已经尝试删除引号并删除第一行及其中的所有组合。帮帮我?

    1   {% load url from future %}
    2   {% if latest_poll_list %}
    3       <ul>
    4       {% for poll in latest_poll_list %}
    5           <li><a href="{% url 'polls.views.detail' poll.id %}">{{ poll.question }}</a></li>
    6       {% endfor %}
    7       </ul>
    8   {% else %}
    9       <p>No polls are available</p>
    10  {% endif %}

2 个答案:

答案 0 :(得分:5)

如果你在urls.py

中有这样的话
app_name = 'polls' 

 url(r'^(?P<question_id>[0-9]+)/$', views.detail, name='detail'),

比你们不得不做这样的代码

<a href="{% url 'polls:detail' question.id %}">Vote again?</a>

此处民意调查是名称空间

app_name = 'polls' 这是命名空间 所以不要与我们在setting.py

中注册的应用名称混淆

答案 1 :(得分:-1)

排队

5           <li><a href="{% url 'polls.views.detail' poll.id %}">{{ poll.question }}</a></li>

我建议您在urls.py中为'polls.views.detail定义一个名称,并在此处使用该名称,如

urls.py

url(r^yoururl,'polls.views.detail',name = somename)

现在使用

           <li><a href="{% url 'somename' poll.id %}">{{ poll.question }}</a></li>

希望这会对你有所帮助