我要退房首次Django的教程https://docs.djangoproject.com/en/1.6/intro/tutorial03/Django的“删除模板硬编码的URL”不工作
到目前为止,它一直一帆风顺以下。我在“删除硬编码的网址”部分遇到了一些问题。我正在使用Django 1.6.6。
当我改变了硬编码网址:
<li><a href="/polls/{{ poll.id }}/">{{ poll.question }}</a></li>
到:
<li><a href="{% url 'detail' poll.id %}">{{ poll.question }}</a></li>
我得到一个404错误如下:
Page not found (404)
Request Method: GET
Request URL: http://localhost:8000/polls/%7B%%20url%20'detail'%20poll.id%20%7D
Using the URLconf defined in mysite.urls, Django tried these URL patterns, in this order:
^polls/ ^$ [name='index']
^polls/ ^(?P<poll_id>\d+)/$ [name='detail']
^polls/ ^(?P<poll_id>\d+)/results/$ [name='results']
^polls/ ^(?P<poll_id>\d+)/vote/$ [name='vote']
^admin/
The current URL, polls/{% url 'detail' poll.id }, didn't match any of these.
You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.
,在显示出来的网址地址栏是
mylocalenv/polls/%7B%%20url%20%27detail%27%20poll.id%20%7D
我试过从'细节'删除引号,但给我我在Django 1.6.6我不应该需要。它也没有工作。我也尝试过跳过一些,并在urls.py中包含/ polls/namespace,但是再次没有快乐。
我的urls.py文件看起来像这样:
from django.conf.urls import patterns, url
from polls import views
urlpatterns = patterns('',
# ex: /polls/
url(r'^$', views.index, name='index'),
# ex: /polls/5/
url(r'^(?P<poll_id>\d+)/$', views.detail, name='detail'),
# ex: /polls/5/results/
url(r'^(?P<poll_id>\d+)/results/$', views.results, name='results'),
# ex: /polls/5/vote/
url(r'^(?P<poll_id>\d+)/vote/$', views.vote, name='vote'),
)
在我的index.html模板确切的代码是:
{% if latest_poll_list %}
<ul>
{% for poll in latest_poll_list %}
<li><a href="{% url 'detail' poll.id %}">{{ poll.question }}</a></li>
{% endfor %}
</ul>
{% else %}
<p>No polls are available.</p>
{% endif %}
得到它
但令人沮丧的我不知道为什么。出我的index.html绝望的我开始玩弄这条线上的index.html文件:
<li><a href="{% url 'detail' poll.id %}">{{ poll.question }}</a></li>
对于没有合乎逻辑的理由,我改变poll.id到poll_id。重新加载破坏了index.html,如我所料。当我将其更改回poll.id时,一切正常。这没有意义。我甚至将CTRL^z返回到以前没有工作的index.html,现在也工作了。我在每次检查之前重新启动服务器。我很烦。但至少它工作。
看起来这是不是在你的模板确切的代码。你可以复制粘贴确切的代码? – karthikr 2014-08-28 18:17:10
您的模板的其余部分是否真的有效?它似乎并没有真正被解析,所以你在链接中获得了原始模板标签。 – 2014-08-28 19:15:19
是的,这也是我的想法,但它工作正常,直到我切换链接到{%url%}标记。我是否缺少导入或其他内容? – 2014-08-28 21:49:31