2017-06-13 28 views
0

Django入門チュートリアルに従っています。私は奇妙なエラーに遭遇しています。少なくとも、私はそれが奇妙な誤りだと思う。
私はpart 3にいます。これはより多くの意見を書いています。私は、私が言うことができる最高の、手紙にチュートリアルに従っている。Django URLConfが正しく解決されていません

/polls/urls.pyファイルには、次のようになります。

from django.conf.urls import url 

from . import views 

urlpatterns = [ 
    url(r'^$', views.index, name='index'), 
    url(r'^(?P<question_id>[0-9]+)/$', views.detail, name='detail'), 
    url(r'^(?P<question_id>[0-9]+)/results/$', views.results, 
     name='results'), 
    url(r'^(?P<question_id>[0-9]+)/vote/$', views.vote, name='vote'), 
] 

if __name__ == "__main__": 
    pass 

そしてpolls/views.pyは次のようになります。

from django.http import HttpResponse 


def index(request): 
    return HttpResponse("Hello, world. You're at the polls index.") 


def detail(request, question_id): 
    return HttpResponse("You're looking at question {question}.".format(question=question_id)) 


def results(request, question_id): 
    response = "You're looking at the results of question {question}.".format(question=question_id) 
    return HttpResponse(response) 


def vote(request, question_id): 
    return HttpResponse("You're voting on question {question}.".format(question=question_id)) 


if __name__ == "__main__": 
    pass 

そして、私はmy_project/urls.pyにURLを登録しました:

from django.conf.urls import include, url 
from django.contrib import admin 

urlpatterns = [ 
    url(r'^admin/', include(admin.site.urls)), 
    url(r'^polls', include("polls.urls")) 
] 

場合I http://127.0.0.1:8000/pollsに行きます。「hello world」メッセージが表示されますそれは私のURLが数3と一致しないことも可能である方法

Using the URLconf defined in learning_django.urls, Django tried these URL patterns, 
in this order: 

1. ^admin/ 
2. ^polls ^$ [name='index'] 
3. ^polls ^(?P<question_id>[0-9]+)/$ [name='detail'] 
4. ^polls ^(?P<question_id>[0-9]+)/results/$ [name='results'] 
5. ^polls ^(?P<question_id>[0-9]+)/vote/$ [name='vote'] 

The current URL, polls/1/, didn't match any of these. 

:私は見ることを期待電子が、それは私はつまり、私はhttp://127.0.0.1:8000/polls/1/に行く私は、次のエラーメッセージが表示される質問の一つを探してみてください?それはそのような基本的な正規表現です。あなたがDjangoのAPPEND_SLASH設定を使用(ドキュメントのhereを参照)、または例えば、/をオプションにするためにあなたのURLパターンを変更することができますいずれか enter image description here

+0

トライ使用/ポーリング/ 1/ – digitake

答えて

2

問題がpolls後、あなたは/を逃し、あなたのmy_project/urls.pyである、に変更:

from django.conf.urls import include, url 
from django.contrib import admin 

urlpatterns = [ 
    url(r'^admin/', include(admin.site.urls)), 
    url(r'^polls/', include("polls.urls")) # add/after polls 
] 
+0

あなたは私の英雄です。私は間違った場所を探していた。 –

0

このように:

url(r'^(?P<question_id>[0-9]+)/?$', views.detail, name='detail'),

+0

はまったく同じことを行います。 –

関連する問題