Django中的URL映射(教程)

时间:2016-03-11 15:06:17

标签: python django

我开始使用Django使用民意调查教程(如PyCharm网站https://www.jetbrains.com/pycharm/help/creating-and-running-your-first-django-project.html所示)。我使用Python 3.5.1,Django 1.9.4和Pycharm 5.0.4,该教程是从2015年12月开始的,至少要求Python 3.4.1。和Django 1.8.0或更高。

问题是,我猜,在urls.py文件中(它位于polls-app文件夹中)。内容是:

(maxLength - charsInLine) / 2 

以及我在访问http://127.0.0.1:8000/polls/1

时收到的错误消息
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
    url(r'^polls/', include('polls.urls')), #this line added
    url(r'^admin/', include(admin.site.urls)),
]

2 个答案:

答案 0 :(得分:4)

您关注的PyCharm教程不完整。它只会将一个网址添加到polls/urls.py

url(r'^$', views.index, name='index'),

这将处理/polls/。本教程未说明如何处理其他网址,如/polls/1/

您最好使用official Django tutorial,这也会创建一个民意调查应用。它与每个新的Django版本保持同步。您可以跳转到this section并通过添加以下模式来更新polls/urls.py

# ex: /polls/5/
url(r'^(?P<question_id>[0-9]+)/$', views.detail, name='detail'),
# ex: /polls/5/results/
url(r'^(?P<question_id>[0-9]+)/results/$', views.results, name='results'),
# ex: /polls/5/vote/
url(r'^(?P<question_id>[0-9]+)/vote/$', views.vote, name='vote'),

答案 1 :(得分:0)

在我的配置中,有两个urls.py文件和我正在编辑错误的文件:

\mysite
    urls.py
    \mysite
        urls.py <--- modify this one

如上所示编辑深层后,它可以正常工作!