【问题标题】:Django poll app tutorial is not working as expected in my serverDjango poll 应用程序教程在我的服务器中没有按预期工作
【发布时间】:2019-04-16 11:01:23
【问题描述】:

我目前正在编写 django poll 应用教程,但出现此错误。

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 位上工作

投票/urls.py

from django.urls import path
from . import views
urlpatterns=[path('',views.index,name='index'),]

mysite/urls.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文件的响应

【问题讨论】:

  • 你能解释一下什么不起作用吗?可以提供浏览器截图吗?
  • 您没有正确阅读教程。甚至还有针对您遇到的问题的特定提示,并带有一个绿色框以突出显示它:“找不到页面?如果您在此处收到错误页面,请检查您要去http://localhost:8000/polls/而不是http://localhost:8000/ 。”
  • 还要注意最后有/,所以你得去localhost:8000/polls/
  • 40分钟后回复,我得先走一会
  • 我也试过 polls/ 还是一样,不返回索引函数请求

标签: django


【解决方案1】:

我认为您的代码一切正常。但是您可能访问的是“localhost:8000”而不是“localhost:8000/polls”。

如果您想在根 URL 上使用投票应用程序,您需要以这种方式编辑您的代码:

mysite/urls.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('app.urls')),
]

投票/urls.py

urlpatterns = [
    path('', views.index, name='index')),
]

我认为你还必须让你的代码更清晰,对每个人(对你来说也是如此!)看起来也更易读!

【讨论】:

  • 稍后我将编辑此答案,向您展示如何在 localhost:8000 上进行投票
【解决方案2】:

您的代码没问题,您正在尝试访问一个您从未在 mysite/urls.py 中提及的 url。

将 msysite/urls.py 中的 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')),

]

在 polls/urls.py 中

urlpatterns = [
    path('', views.index, name='index'),
]

注意:您尝试的 urlpattern 将在 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')),
]

【讨论】:

    【解决方案3】:

    当我将 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 Error in "Writing your first Django App" tutorial

    【讨论】:

      猜你喜欢
      • 2019-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多