我知道这个问题以前有人问过,但我还没有找到解决我的问题的答案。
我正在看Django教程,我已经完全按照教程中的内容设置了第一个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。
下面是我在相关的网址和视图文件的代码:
在我的网站/民意调查/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.")
在我的网站/民意调查/urls.py:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^%', views.index, name='index'),
]
在我的网站/我的网站/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?
4条答案
按热度按时间btxsgosb1#
您的url conf正则表达式不正确,您必须使用
$
而不是%
。$
充当regex标志,用于定义正则表达式的结尾。e0uiprwp2#
urlpatterns = [path('', views.index, name='index'), ]
wkyowqbh3#
我在教程中遇到了同样的问题!
问题是,如果您仔细观察,它引用了两个url.py文件,即mysite/polls/url.py和mysite/url.py。
将提供的代码放入正确的url.py文件中应可解决此问题。
bybem2ql4#
在调试打开时添加STATIC_URL和STATIC_MEDIA,帮助我: