生产环境静态文件 404:collectstatic 与白名单

现象 CSS/JS 404,模板引用 {% static %}的资源不加载。

排查

是否执行过 python manage.py collectstatic

Nginx/对象存储是否指向 STATIC_ROOT

STATIC_URL和代理路径是否一致。

示例

STATIC_URL = "/static/"
STATIC_ROOT = "/var/www/app/static/"

Nginx:

location /static/ {
    alias /var/www/app/static/;
    access_log off;
}

常见坑

忘记给 CI/CD授权写入 STATIC_ROOT

备机未同步静态资源目录。

使用 ManifestStorage后缓存未刷新导致 404。

我把“静态资源发布清单”固定在 gplpal的部署文档里,每次发版对照即可。

评论 0