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

为什么我的Django项目出现django.views.static.serve抛出的404页面未找到错误

Page not found (404) Raised by:django.views.static.serve 报错的核心原因是你当前访问的请求被Django判定为静态资源请求,转发到静态资源处理视图后未找到对应文件,所以返回404,可按以下顺序排查问题:

  • 检查访问路径是否正确
    你配置的业务路由完整路径为/confirmmail/,需确认访问时路径拼写正确、末尾带斜杠。如果Django配置中APPEND_SLASH = False,访问不带末尾斜杠的/confirmmail也会触发404。
  • 检查路由匹配优先级
    确认根目录urls.py中,path('', include('sesmail.urls'))的配置位置在所有通配路由(如<str:xxx>格式的动态路由)之前,避免请求被通配路由提前拦截,未匹配到你配置的业务路由。
  • 检查静态资源路径冲突
    确认settings.py中配置的MEDIA_URL、STATIC_URL前缀和你访问的/confirmmail/路径无冲突,如果静态资源前缀和业务路由前缀一致,Django会优先将请求转发到静态资源处理逻辑。
  • 检查模板内静态资源引用
    打开mail/account_confirmation.html模板,确认所有静态资源(css、js、图片等)都使用{% static '资源路径' %}模板标签引用,不要写相对路径。相对路径会导致请求地址拼接错误,触发静态资源404。
  • 检查开发模式配置
    如果是本地调试且DEBUG = False,Django默认不会处理静态资源请求,需要在根urls.py中补充STATIC资源的路由配置,或者开启DEBUG模式调试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 22:24:03