nginx drf-yasg 静态资源static404问题
时间: 2023-07-28 17:12:28 浏览: 260
nginx中使用nginx-http-concat模块合并静态资源文件
在使用 Django Rest Framework 和 drf-yasg 生成 API 文档时,可能会遇到静态资源(如 CSS、JS 文件)无法加载的问题。这通常是由于 nginx 配置不正确导致的。
要解决这个问题,可以尝试以下几个步骤:
1. 确保静态资源已经正确地打包到了 Django 的 `static` 目录下,并且可以通过浏览器访问到。
2. 在 nginx 配置文件中添加以下内容:
```
location /static/ {
alias /path/to/your/static/folder/;
}
location /swagger/ {
try_files $uri $uri/ /index.html;
}
```
其中,`/path/to/your/static/folder/` 应该替换为你的静态资源所在的目录。这个配置会让 nginx 在请求 `/static/` 路径时,将请求映射到静态资源目录,并且在请求 `/swagger/` 路径时,将请求转发到 drf-yasg 生成的 Swagger UI 页面。
3. 重新加载 nginx 配置:`sudo systemctl reload nginx`。
如果以上步骤不能解决问题,可以考虑查看 nginx 的错误日志,以便更好地理解问题的原因。
阅读全文