0

嗨,当我浏览页面时,有什么方法可以禁止 url 一个接一个地附加?

例如,/questions/ 显示一些问题,每个问题都有一个指向特定问题并显示答案的链接。所以我做了一个

<a href="{% url answer.views.display_answers Question.id %}">View answers</a>

它将页面上的 url 更改为 /questions/1/。当我在页面上有一个链接将用户带回 /questions/ 页面时,问题就来了。

<a href="{% url 'questions' %}">Back to question list</a>

它返回一个反向匹配错误,经过一番探索,我发现发生了不匹配,因为 url 现在是 /questions/1/questions/

所以我的观点是我们是否有任何方法可以控制 Django 在整个导航过程中附加 url。

4

2 回答 2

1

我认为问题可能是您没有在 url 模板标签中始终使用引号。

有关更多信息,请参阅url 模板标签文档中的转发兼容性。我建议您在两个模板中加载新的 url 标签,并将链接更改为

{% load url from future %}
...
{% url 'answer.views.display_answers' Question.id %}

{% load url from future %}
...
{% url 'questions' %}

如果您尝试了它仍然无法正常工作,请发布您的 urls.py。

于 2012-10-13T18:10:25.523 回答
0

使用{% url answer.views.display_questions %}代替{% url 'questions' %},就像您已经为答案所做的那样。

于 2012-10-13T17:13:08.937 回答