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

Django 404页面找不到问题求助:about页面无法渲染

解决Django中About页面404错误的问题

嘿,我立刻就发现问题所在了——你的URL路由配置出现了路径重复的情况,这才导致访问/about/时触发404错误。

问题根源分析

看一下你的项目级urls.py:

urlpatterns = [
    path('admin/', admin.site.urls),
    path('about/', include('pages.urls')),  # 这里把pages的URL挂在了/about/路径下
    path('', include('pages.urls')),        # 同时也挂在了根路径下
]

而pages应用的urls.py里又定义了:

path('about/', views.about_view, name='about'),

这意味着,只有当你访问/about/about/这个路径时,才会匹配到about_view视图。但你肯定是直接访问/about/,自然就找不到对应的视图了。

另外,你的模板路径配置是没问题的——templates/pages/about.html这个结构完全符合Django的模板查找规则,所以模板本身不是问题。

解决方案(推荐第一种)

方案1:清理项目级URL配置,保留根路径映射

直接删除项目urls.py里的path('about/', include('pages.urls')),只保留根路径的映射,这样pages里的URL规则会直接作用于网站根路径:

修改后的项目urls.py:

from django.contrib import admin
from django.urls import path,include
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('pages.urls')),  # 只保留这一行
]

这样修改后:

  • 访问/会匹配pages里的index视图
  • 访问/about/会匹配pages里的about_view视图,完美解决404问题。

方案2(不推荐):调整pages应用的URL规则

如果你非要保留项目级的path('about/', include('pages.urls')),那就要把pages里的about路径改成空路径:

修改后的pages应用urls.py:

from django.urls import path
from . import views
urlpatterns = [
    path('', views.index, name="index"),
    path('', views.about_view, name='about'),  # 这里改成空路径
]

但这个方案有个致命问题:pages里的两个视图都映射到了空路径,会导致优先级冲突(index会覆盖about),所以非常不建议这么做。

验证修改

修改完URL配置后,重启Django开发服务器,访问/about/就能正常看到你的about页面啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 14:17:47