首页 > 解决方案 > 找不到路径

问题描述

我的代码有问题,我尝试在应用程序中创建一个新的 URL 文件,并在主 URL 文件中放置函数 include,但是当我运行代码时出现错误,这是我的代码

错误信息:

Page not found (404)
Request Method: GET
Request URL:    http://127.0.0.1:8000/index
Using the URLconf defined in f_project.urls, Django tried these URL patterns, in this order:

admin/
^$
^first_app/
The current path, index, didn't match any of these.

f_project.urls 的代码

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



urlpatterns = [
    path('admin/', admin.site.urls),
    path(r'^$', views.index),
    path(r'^first_app/', include('first_app.urls')),
]

first_app.urls 的代码

from django.urls import path
from first_app import views

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

请有人帮我解决它

标签: pythondjango

解决方案


您正在尝试访问index/url,但您没有在任何 urls 文件中设置该模式。

如果要设置该 url 模式,则必须这样做:

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



urlpatterns = [
    path('admin/', admin.site.urls),
    path(r'^index/', views.index),
    path(r'^first_app/', include('first_app.urls')),
]

您还包括另一个 urls 文件,但它引用了相同的视图。无论如何,如果您index/在 first_app urls.py 中设置了一个 url 模式,如下所示:

from django.urls import path
from first_app import views

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

该模式的正确网址是first_app/index/.

在两个 urls 文件中,您正在处理相同的视图 ( first_app.views.index),因此两个 urls (index/first_app/index/) 将完全相同。


推荐阅读