来自views.py
的网址格式声明url(r'^intentions/(\d+)/$', 'intentions.views.show'),
当我直接写地址时,意图/ 1可以正常工作,但当我尝试显示对象的URL显示时:
{% for i in intentions %}
{% url 'intentions.views.show' i.id as iUrl %}
<li><a href="{{ iUrl }}">{{ i }}</a></li>
{% endfor %}
我以空的href结尾。有人可以给我任何建议吗?
答案 0 :(得分:3)
如果您使用的是Django 1.3或1.4,请确保您是loading the new url tag。将以下行添加到模板顶部:
{% load url from future %}
如果你使用的是Django 1.4或更早版本,并且你没有加载上面的新url标记,那么你需要从url模式中删除单引号:
{% url intentions.views.show i.id as iUrl %}
另外,建议name your url pattern:
url(r'^intentions/(\d+)/$', 'intentions.views.show', name='show_intention'),
然后将模板更改为:
{% for i in intentions %}
{% url 'show_intention' i.id as iUrl %}
<li><a href="{{ iUrl }}">{{ i }}</a></li>
{% endfor %}
答案 1 :(得分:1)
你可以尝试
{% for i in intentions %}
<li><a href="{% url 'intentions.views.show' i.id %}"><{{ i }}</a></li>
{% endfor %}
不要将{%url'intentions.views.show'i.id用作iUrl%},它可能会混淆。 此外,您可以尝试修改网址,如下所示
url(r'^intentions/(\d+)/$', 'intentions.views.show', name="intention_view"),
然后,
{% for i in intentions %}
{% url "intention_view" i.id as iUrl %}
<li><a href="{{ iUrl }}">{{ i }}</a></li>
{% endfor %}
如果还有空的href结束,请尝试第一种方法。
答案 2 :(得分:0)
'intentions.views.show'
同时为您的网址命名='',并在模板代码中使用它。