【问题标题】:django URLconf current path didn't matchdjango URLconf 当前路径不匹配
【发布时间】:2018-08-18 19:07:46
【问题描述】:

使用 mysite.urls 中定义的 URLconf,Django 按以下顺序尝试了这些 URL 模式:

polls/ [name='index']
admin/

当前路径 polls/ 与其中任何一个都不匹配。

我的代码是... 来自 (app)polls urls.py

from django.urls import path
from . import views


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

来自(项目)mysite urls.py

from django.urls import include, path
from django.contrib import admin


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

]

来自views.py 项目文件

from django.shortcuts import render
from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello world, you are at the polls index.")

【问题讨论】:

  • 您尝试访问的 URL 是什么。主页?
  • 索引位于 localhost:800/polls/ 因为索引 url 在 polls.urls 内,您已将其包含在带有 'polls/' 的项目 url 中。

标签: python django


【解决方案1】:

由于您访问的是localhost:8000,因此搜索路径为空字符串'',并且在您的项目网址中,pollsadmin 只有两种模式。这就是您收到错误的原因。因此,您需要访问localhost:8000/polls 以从index 视图的polls 应用程序中获取结果。

【讨论】:

    【解决方案2】:

    如果您希望您的视图索引作为主页视图,则要在地址 localhost:port/ 上呈现的第一个页面。

    那么,

    在 polls.urls.py 中应该是(和你的一样):

    ...
    path('', views.index, name='index'),
    ...
    

    在 project.urls.py 中

    ...
    path('', include('polls.urls')),
    ...
    

    它应该可以工作。

    额外的。 现在,如果你想在地址上呈现,比如说 localhost:port/polls

    那么您在 app.url(不是 project.url)中的路径模式将是:

    path('polls/', polls_view, name='polls')
    

    希望对你有帮助。

    【讨论】:

    • 第一个解决方案有效....但“管理员”仍然无效.. url=localhost:8000/admin
    • 这次是什么类型的错误?由于现在是关于管理员的,因此管理员页面需要数据库中的用户表。我想您还没有为您的应用程序运行迁移,因此在这种情况下,您的应用程序没有可使用的表。如果是这样,请在应用程序中文件 manage.py 所在的 cmd 中键入以下内容:python manage.py migrate。现在这应该可以了,但如果不行,请发布为您显示的错误消息,以便我们查看它可能是什么。
    【解决方案3】:

    我是初学者,很长一段时间都被同样的问题困扰。 问题的关键是目录:

    mysite/
        mysite/
        polls/
        ....
    

    我怀疑你在mysite(文件夹的最外层)目录下新建了一个文件(urls.py),它是无效的。您应该修改文件:mysite/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),
    ]
    

    【讨论】:

      猜你喜欢
      • 2021-04-21
      • 1970-01-01
      • 1970-01-01
      • 2018-09-11
      • 1970-01-01
      • 2019-05-18
      • 2018-12-01
      • 2020-03-23
      • 1970-01-01
      相关资源
      最近更新 更多