Django中404重定向失效及Edge静态文件不显示问题排查
404页面跳转失效排查
Django配置层面
- 确保
settings.py中DEBUG = False,DEBUG模式下Django会显示默认调试404页面,不会触发自定义视图 - 确认
settings.py中ALLOWED_HOSTS已正确配置(如ALLOWED_HOSTS = ['your-domain.com', 'localhost']),配置错误会导致错误页面无法正常触发 - 检查根路由
urls.py是否添加handler404 = 'your_app.views.page_not_found',路径需准确指向你的视图函数
视图与模板层面
- 验证
page_not_found视图是否返回带404状态码的响应,示例代码:from django.shortcuts import render def page_not_found(request, exception): return render(request, '404.html', status=404) - 确认
404.html模板放在正确目录(templates根目录或对应app的templates子目录),且模板语法无错误 - 直接访问视图对应的测试URL,验证模板能否正常渲染,排除模板自身问题
Edge浏览器静态文件无法显示排查
静态文件配置验证
- 检查
settings.py中的静态文件配置是否正确:STATIC_URL = '/static/' STATIC_ROOT = BASE_DIR / 'staticfiles' # 确保collectstatic生成的文件存放在此 STATICFILES_DIRS = [BASE_DIR / 'static'] # 开发阶段的静态文件源目录 - 确认
python manage.py collectstatic执行后,STATIC_ROOT目录下存在目标静态文件,且服务器拥有读取权限
Edge浏览器特有问题排查
- 清除Edge缓存与Cookie(快捷键
Ctrl+Shift+Delete),避免缓存导致的静态文件加载异常 - 打开Edge开发者工具(F12)的「网络」标签,查看静态文件请求状态:
- 若为404,检查模板中静态文件引用路径(如
{% static 'css/style.css' %})是否与STATIC_URL匹配 - 若为403,检查服务器对静态文件目录的访问权限设置
- 若为404,检查模板中静态文件引用路径(如
- 关闭Edge的「严格站点隔离」等安全策略,部分安全设置可能阻止静态文件加载
内容的提问来源于stack exchange,提问作者Chauhan Mukesh
相关产品推荐
相关产品推荐

