我正在关注 https://docs.djangoproject.com/en/1.8/intro/tutorial03/ 我已经按照教程中完成的方式配置了我的项目目录。 我正在为民意调查配置网址。根据教程,我在 views.py 中定义了详细信息、结果、投票,在项目目录的 urls.py 中定义了民意调查的 urls.py 中的民意调查 url。 当我访问
localhost:8000/民意调查/
它有效。
但是当我尝试按照他们的描述访问民意调查的详细信息时,它会抛出 404。我尝试了我的实际问题 ID,但都是徒劳的。
在文档中,他们说“在“/polls/34/”。它将运行 detail() 方法”
但对我来说它会抛出 404
localhost:8000/polls/34/
Using the URLconf defined in DjangoFirst.urls, Django tried these URL patterns, in this order:
^polls ^$ [name='index']
^polls ^(?P<question_id>[0-9]+)/$ [name='detail']
^polls ^(?P<question_id>[0-9]+)/results/$ [name='results']
^polls ^(?P<question_id>[0-9]+)/votes/$ [name='vote']
^admin/
The current URL, polls/34/, didn't match any of these.
这是我的 urls.py 位于 ProjectName/ProjectName/urls.py
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url (r'^polls', include('polls.urls')),
url(r'^admin/', include(admin.site.urls)),
]
这是位于 ProjectName/polls/urls.py 中的我的投票 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]+)/votes/$', views.vote, name='vote'),
]
这是我的投票 View
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello World")
def detail(request, question_id):
return HttpResponse("You are looking at question %s." % question_id)
def results(request, question_id):
response = "You are looking at response of question %s."
return HttpResponse(response % question_id)
def vote(request, question_id):
return HttpResponse("You are voting on question %s." % question_id)
我找不到我的代码有什么问题。请帮帮我?
最佳答案
我认为这是因为它应该是(在你的代码中它缺少一个 /
):
url(r'^polls/', include('polls.urls')),
代替:
url (r'^polls', include('polls.urls')),
希望对您有所帮助!检查tutorial page :)
关于python - Django教程-查看详情时轮询错误404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32634687/