空路径与任何这些都不匹配(Django)

时间:2020-02-25 16:13:30

标签: django

The empty path didn't match any of these中,有人问了类似的问题。当我在path('',include('projects.urls'))中包含personal_portfolio.py时,该解决方案确实有效。但这是困扰我的地方...

personal_portfolio / urls.py:

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

projects / urls.py:

urlpatterns = [
path("", views.project_index, name="project_index"),
path("<int:pk>", views.project_detail, name="project_detail"),
]

包含空路径(在后者中)!调用path('projects/', include('projects.urls'))时,应调用projects/urls.py

然后 有空路径。为什么需要在path("",include('projects.urls'))中包含personal_portfolio/urls.py才能起作用?!

2 个答案:

答案 0 :(得分:1)

path("", ...)包含在path('projects/', include('projects.urls'))中,因此路径为:

'projects/' + "" = "projects/"

因此,您需要访问localhost:8000/projects/,对localhost:8000/的请求将失败。

如果您改用path("", include('projects.urls')),则路径为:

 "" + "" = ""

现在,对空路径localhost:8000/的请求将成功。

答案 1 :(得分:0)

您正在使用localhost:8000而不是localhost:8000 / projects访问您的项目。

如果您的URL中没有空路径,则请求将失败。