You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django项目hello_world中profile页面无法正常访问问题求助

问题原因

Django的URL路由采用前缀拼接逻辑,你现在的配置存在两个问题:

  1. 根路由hello_world/urls.py中给profile_page应用配置的前缀是profile_page,而profile_page/urls.py中又给profile视图配置了路径profile_page,两者拼接后实际可访问的路径是/profile_page/profile_page,你直接访问/profile_page就会触发404报错。
  2. 子应用的urls.py中不需要重复定义admin路由,admin路由仅需要在项目根urls.py中定义一次即可,多余配置可以删除。

修复方案(二选一即可)

方案1:按多APP路由规范配置(推荐)

修改hello_world/urls.py中profile相关的路由,末尾补斜杠,同时去掉多余的逗号:

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

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

修改profile_page/urls.py,删除多余的admin路由,将视图路径改为空:

from django.urls import path
from . import views

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

修改完成后访问/profile_page/即可正常打开profile页面。

方案2:直接配置根路由

如果你不需要给profile应用下的所有路由加统一前缀,可以直接在根urls.py中绑定视图,不需要引入子应用的urls配置:
修改hello_world/urls.py:

from django.contrib import admin
from django.urls import path
from home_page.views import home
from profile_page.views import profile

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', home, name='home page'),
    path('profile_page', profile, name='profile page'),
]

这种情况可以直接删除home_page/urls.py和profile_page/urls.py两个文件,访问/profile_page即可正常打开页面。

额外优化建议

你当前home_page/urls.py中也配置了多余的admin路由,可以直接删除,只保留视图路由即可。

内容的提问来源于stack exchange,提问作者Sudip Das

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 10:06:03