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

Django服务器部署后drf_yasg静态文件无法加载,Swagger页面空白

解决Django部署后drf_yasg静态文件404问题

1. 配置静态文件收集目录

在settings.py中添加STATIC_ROOT配置,指定collectstatic命令收集所有静态文件的目标路径:

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

2. 执行静态文件收集命令

在服务器终端运行以下命令,将所有依赖(包括drf_yasg)的静态文件统一收集到STATIC_ROOT目录:

python manage.py collectstatic --noinput

3. 配置Web服务器托管静态文件

生产环境下Django自带的static()辅助函数仅在DEBUG=True时生效,必须通过Web服务器(如Nginx)直接处理静态文件请求。以Nginx为例,添加如下配置段:

location /static/ {
    root /你的项目绝对路径/staticfiles;
    expires 30d;
}

将/你的项目绝对路径替换为服务器上项目的实际路径。

4. 确认生产环境配置

确保服务器端settings.py中DEBUG = False,生产环境下必须关闭DEBUG模式,否则会暴露敏感信息且无法正确处理静态文件。

额外检查项

  • 确保服务器用户对STATIC_ROOT目录拥有读写权限,避免collectstatic命令执行失败。
  • 若使用虚拟环境,需激活对应环境后再执行collectstatic命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 01:57:14