我正在研究 Django 民意调查应用程序教程,但我收到此错误.
Using the URLconf defined in mysite.urls, Django tried these URL patterns, in this order:
polls/
admin/
The empty path didn't match any of these.
已经尝试重新启动服务器,迁移数据并 settings.py 已安装应用程序。 但是 Django 教程直到现在才要求您这样做。在 Windows 10 64 位上工作
投票/网址.py
from django.urls import path
from . import views
urlpatterns=[path('',views.index,name='index'),]
我的网站/网址.py
from django.contrib import admin
from django.urls import include,path
urlpatterns=[path('polls/',include('polls.urls')),path('admin/',admin.site.urls')),]
结果应该是来自 views.py 文件的响应
当我错误地将 urls.py 放在上层mysite/上根文件夹中时,我遇到了这个问题,要解决它,只需将 urls.py 文件移动到mysite/mysite/路径中即可因为根文件夹结构是这样的:
mysite/ (don't put urls.py inside this one!)
manage.py
mysite/ (put it inside here!)
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
请检查此答案,因为它看起来像是同一问题的重复
404 "编写你的第一个 Django 应用程序"教程中的错误
我认为你的代码一切都很好。但是您正在传播访问"本地主机:8000"而不是"本地主机:8000/民意调查"。
如果要在根 URL 上处理投票应用,则需要按以下方式编辑代码:
我的网站/网址.py
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('app.urls')),
]
投票/网址.py
urlpatterns = [
path('', views.index, name='index')),
]
我认为你还必须让你的代码更清晰,对每个人来说看起来都更具可读性(对你来说也是如此!
您的代码没问题,您正在尝试访问您在mysite/urls.py中从未提及的URL。
将 msysite/url.py s 中的 url 模式更改为以下内容以访问投票应用程序 127.0.0.1:8000/
from django.contrib import admin
from django.urls import include,path
urlpatterns = [
path('admin/', admin.site.urls),
path('',include('polls.urls')),
]
在民意调查/网址中.py
urlpatterns = [
path('', views.index, name='index'),
]
注意:您尝试的网址模式将适用于 http://127.0.0.1:8000/polls/由于您在 mysite/urls 中使用以下代码.py
from django.contrib import admin
from django.urls import include,path
urlpatterns = [
path('admin/', admin.site.urls),
path('polls/',include('polls.urls')),
]