我知道以前有人问过这个问题,但我还没有找到解决我情况的答案。
我正在查看 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/