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

Django 5.x部署至DO App平台遇/staticfiles目录不存在问题求助

解决Django部署到DigitalOcean App平台报错directory /workspace/staticfiles does not exist

问题原因

DigitalOcean App平台部署流程默认期望静态文件收集到/workspace/staticfiles目录,但你的配置中STATIC_ROOT设置为BASE_DIR / 'static',且项目根目录未创建staticfiles目录,导致部署时找不到该路径。

解决方案

方案1:修改STATIC_ROOT为平台预期路径

在settings.py中调整STATIC_ROOT配置:

STATIC_ROOT = BASE_DIR / 'staticfiles'

执行collectstatic命令时,会将静态文件(即使最终上传到DO Spaces)收集到平台预期的目录,规避路径不存在的错误。

方案2:提前创建staticfiles目录

在项目根目录手动创建staticfiles目录,为避免Git忽略空目录,可在目录内添加一个空的.gitkeep文件,然后提交到代码仓库。部署时平台就能识别到该目录。

方案3:调整DO App部署构建命令

进入DigitalOcean App的部署设置,在构建命令中先添加创建目录的指令:

mkdir -p staticfiles && python manage.py collectstatic --noinput

即使完全依赖DO Spaces存储静态文件,这条命令也能提前创建平台需要的目录,避免报错。

额外配置修正(避免后续问题)

你的AWS_S3_ENDPOINT_URL配置有误,应设置为DO Spaces的区域端点,而非自定义域名:

AWS_S3_ENDPOINT_URL = f'https://{AWS_REGION}.digitaloceanspaces.com'

若使用自定义域名或CDN,再将AWS_S3_CUSTOM_DOMAIN设置为对应的域名即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 03:12:38