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

Azure Linux免费F1层部署Django后静态文件缺失、MIME类型错误

Azure Linux实例部署Django静态文件缺失解决方案
  • 检查Django settings.py 配置项
    确认以下参数配置正确:
    # 静态文件访问路由
    STATIC_URL = '/static/'
    # 生产环境收集静态文件的目标目录
    STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
    # 自定义静态文件存放目录(如果有单独的static目录存业务静态资源需要加这行)
    STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
    
    生产环境DEBUG = False时必须配置STATIC_ROOT,否则Django不会处理admin等自带静态文件的映射。
  • 执行静态文件收集命令
    部署完成后可通过SSH连接到Azure实例,执行命令:
    python manage.py collectstatic --noinput
    该命令会将admin自带静态文件、业务自定义静态文件全部汇总到STATIC_ROOT指定的目录下。也可以将该命令加入部署脚本,实现部署时自动执行。
  • 配置WhiteNoise处理静态文件
    Azure Linux Python实例默认使用Gunicorn作为应用服务器,本身不支持处理静态资源,推荐通过WhiteNoise实现静态文件服务:
    1. 安装依赖:pip install whitenoise,并将whitenoise加入requirements.txt
    2. 在settings.py的MIDDLEWARE列表中添加中间件,放在django.middleware.security.SecurityMiddleware之后:
      'whitenoise.middleware.WhiteNoiseMiddleware'
    3. 新增配置项指定静态文件存储方式:
      STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
      重新部署后即可生效。
  • 检查部署文件完整性
    确认.gitignore文件中没有屏蔽staticfiles目录,或者部署流程中已经自动执行collectstatic生成该目录,不会因为目录被忽略导致静态文件缺失。
  • 检查目录权限
    进入实例SSH终端,查看staticfiles目录权限是否为可读,可执行命令修改权限:
    chmod -R 755 staticfiles

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 13:24:04