空路径与这些路径中的任何一个都不匹配(django)

空路径与这些路径中的任何一个都不匹配(django),django,Django,在这里也有人问过类似的问题。当我在personal_portfolio.py中包含路径include'projects.url'时,这个解决方案确实有效。但这是让我讨厌的 个人_公文包/url.py: urlpatterns = [ path('admin/', admin.site.urls), path('projects/', include('projects.urls')), ] projects/url.py: urlpatterns = [ path("", views.proj

在这里也有人问过类似的问题。当我在personal_portfolio.py中包含路径include'projects.url'时,这个解决方案确实有效。但这是让我讨厌的

个人_公文包/url.py:

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

urlpatterns = [
path("", views.project_index, name="project_index"),
path("<int:pk>", views.project_detail, name="project_detail"),
]
空路径包含在后者中!当调用路径“projects/”include“projects.url”时,它应该调用projects/url.py


那么空路径就在那里了。为什么我需要在personal_portfolio/url.py中包含path,包括'projects.url',它才能工作

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

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

路径。。。包含在路径“projects/”中,包含“projects.url”,因此路径为:

'projects/' + "" = "projects/"
 "" + "" = ""
因此,您需要访问localhost:8000/projects/并且对localhost:8000/的请求将失败

如果使用path,请改为包含“projects.url”,则路径为:

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

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

这是因为调用的第一个函数是path'projects'。。。