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

使用Django开发服务器时Debug为False,媒体文件显示404错误

Django部署到cPanel前的静态/媒体文件配置测试建议
  • 静态文件配置调整
    cPanel环境下,默认的静态文件配置仅能满足本地测试,需要新增STATIC_ROOT指定收集所有静态文件的目录,这样部署时才能让web服务器正确读取静态资源:

    STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
    

    部署前必须执行命令收集静态文件:

    python manage.py collectstatic
    

    执行后所有分散的静态文件会被统一复制到STATIC_ROOT目录,后续需要在cPanel的站点配置中把静态资源访问路径指向该目录。

  • 媒体文件配置优化
    当前的MEDIA_ROOT和MEDIA_URL本地测试可用,但部署到cPanel需要补充两项操作:

    1. 在项目根路由文件urls.py中添加媒体文件的访问路由:
      from django.conf import settings
      from django.conf.urls.static import static
      
      urlpatterns = [
          # 你的业务路由配置
      ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
      
    2. 确保cPanel环境中media目录拥有可读写权限,避免用户上传文件时出现权限错误。
  • 部署前必改的核心配置
    本地测试的DEBUG模式不能直接用于生产环境,必须修改以下配置:

    DEBUG = False
    ALLOWED_HOSTS = ['你的域名', 'www.你的域名']
    

    同时可以打印BASE_DIR确认路径是否符合cPanel环境的实际目录结构,避免路径错误导致静态/媒体文件无法读取。

原始settings.py配置

STATIC_URL = '/static/'

MEDIA_URL = '/media/'

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), ]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 22:55:17