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

Django部署后执行collectstatic仍无法加载.css/.js文件求助

问题排查与解决办法

核心原因:Nginx静态资源路径配置错误

你的STATIC_ROOT指向/home/workers/apo_web/static,但Nginx配置中location /static/使用的root参数导致路径拼接错误:

  • 当浏览器请求/static/new_style.css时,Nginx会尝试从/home/workers/apo_web/django_apo/static/new_style.css读取文件
  • 但实际文件存在于/home/workers/apo_web/static/new_style.css,路径不匹配引发404错误

解决步骤

1. 修正Nginx静态资源配置

将sites-enabled下配置文件中的location /static/块修改为以下两种方式之一:

方式一:使用alias(推荐)

location /static/ {
    alias /home/workers/apo_web/static/;
}

alias会直接将/static/请求映射到指定目录,不会额外拼接路径,完全匹配你的STATIC_ROOT位置。

方式二:调整root路径

如果坚持使用root,需将路径设置为STATIC_ROOT的上级目录:

location /static/ {
    root /home/workers/apo_web/;
}

此时Nginx会拼接出正确路径/home/workers/apo_web/static/xxx,与实际文件位置一致。

2. 验证配置并重启Nginx

  • 检查Nginx配置语法是否合法:
sudo nginx -t
  • 语法无误后重启Nginx:
sudo systemctl restart nginx

3. 额外检查项

  • 确认静态资源目录权限:确保Nginx进程用户(通常为www-data)拥有读取权限
sudo chmod -R 755 /home/workers/apo_web/static
sudo chown -R www-data:www-data /home/workers/apo_web/static
  • 清理浏览器缓存:新静态文件可能被浏览器缓存,按Ctrl+F5强制刷新页面测试

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 13:17:20