我知道以前有人问过这个问题,但我还没有找到解决我情况的答案。

我正在查看 Django tutorial ,并且我已经完全按照教程设置了第一个 URL,一字不差,但是当我转到 http://http://localhost:8000/polls/ 时,它给了我这个错误:

Using the URLconf defined in mysite.urls, Django tried these URL patterns, in this order:
^polls/ ^% [name='index']
^admin/
The current URL, polls/, didn't match any of these.

我正在使用 Django 1.10.5 和 Python 2.7。

这是我在相关 url 和 View 文件中的代码:

在 mysite/polls/views.py 中:
from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.
def index(request):
  return HttpResponse("Hello, world. You're at the polls index.")

在 mysite/polls/urls.py 中:
from django.conf.urls import url

from . import views

urlpatterns = [
  url(r'^%', views.index, name='index'),
]

在 mysite/mysite/urls.py 中:
from django.conf.urls import include, url
from django.contrib import admin

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

这是怎么回事?为什么我会收到 404?

最佳答案

您的 url conf regex 不正确,您必须使用 $ 而不是 %

from django.conf.urls import url

from . import views

urlpatterns = [
   url(r'^$', views.index, name='index'),
]
$ 作为正则表达式标志来定义正则表达式的结尾。

关于python - 使用 mysite.urls 中定义的 URLconf,Django 尝试了这些 URL 模式,顺序为 :,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41605073/

10-13 05:45