【问题标题】:Django template tag url doesn't workDjango模板标签网址不起作用
【发布时间】:2012-08-23 05:45:47
【问题描述】:

我收到这个由 URL 模板标签引起的错误:

在模板 C:\Users\Don't Panic\BitNami DjangoStack projects\Templates\polls\index.html 中,第 5 行出错

我真的不知道为什么会这样。我尝试删除该行,它工作正常,所以我认为这是唯一造成问题的行。

(顺便说一句,我在 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 %}

【问题讨论】:

  • 始终发布完整的堆栈跟踪。

标签: django url


【解决方案1】:

如果你有这样的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>

这里的 polls 是命名空间

app_name = 'polls' 这里是命名空间 所以不要与我们在setting.py 注册的应用名称混淆

【讨论】:

    【解决方案2】:

    排队

    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>
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2011-04-28
      • 2016-03-22
      • 1970-01-01
      • 1970-01-01
      • 2019-06-24
      • 2016-01-29
      • 2011-01-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多