python - 找不到路径
问题描述
我的代码有问题,我尝试在应用程序中创建一个新的 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'),
]
请有人帮我解决它
解决方案
您正在尝试访问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/
) 将完全相同。
推荐阅读
- reactjs - 复选框仅在单击两次时更改值
- html - 在 Bootstrap 中,当鼠标悬停在导航栏中时,如何更改链接的颜色?
- javascript - 在 vue 组件中使用 props
- magento - 如何在 magento web api 中设置内容类型?
- database - 如何在 Mobile Service TableController API 中更改数据库连接字符串运行时
- laravel - 范围左连接子不起作用 - Laravel
- c++ - 在 setiosflags 函数中使用十六进制标志
- jboss - 如何将日志文件添加到 Keycloak 提供程序 jar
- python - 用新数据更新 LGBM 模型
- sql - 在雪花查询中使用窗口函数进行条件分组