Django 投票应用程序教程在我的服务器中没有按预期工作



我正在研究 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')),
]

最新更新