django - Django 静态文件不会加载到已部署的服务器上
问题描述
我使用 django、apache 和 mod_wsgi 的最新版本。我尝试在 Ubuntu 16 上部署项目。与静态文件有关的问题。他们没有加载,如下图所示(图在那里)。实际上,也许我只是没有看到我在哪里犯了错误,因为我在 google 和 stackoverflow 中尝试了大多数东西。
.conf 文件中的代码:
Alias /media/ /var/www/fpbg/media
Alias /static/ /var/www/fpbg/static
<Directory /var/www/fpbg/media>
Require all granted
</Directory>
<Directory /var/www/fpbg/static> # also I tried staticfiles
Require all granted
</Directory>
settings.py 中的代码:
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
# '/var/www/static/',
]
我执行了manage.py collectstatic,看来,我什么都做了,但还是不行……救命!
解决方案
子路径上不应有斜杠。代替:
Alias /media/ /var/www/fpbg/media
Alias /static/ /var/www/fpbg/static
利用:
Alias /media /var/www/fpbg/media
Alias /static /var/www/fpbg/static
通过使用你所拥有的,用于:
/static/foo.txt
它会试图找到:
/var/www/fpbg/staticfoo.txt
并且会失败。
以上假设您已STATIC_ROOT
匹配并且也已运行collectstatic
。
推荐阅读
- azure-devops - 将 NuGet 包从 TeamCity 发布到 Azure DevOps Artifacts
- windows - 如何使用脚本获取 Windows SE RDP 和 CONSOLE?
- android - 在视图寻呼机内更新适配器中的项目
- keras - 用于回归的多输入(文本和数字)模型,给出相同的输出
- python - 在Django中查询多个外键
- python - 自动颜色 seaborn 堆积条形图
- javascript - 谷歌地图上的指向标记@change
- angular - 当我点击 ng build 命令时出现空白屏幕
- bash - 如何将 Inotify shell 脚本作为异步进程运行
- wpf - 在 MVVM 中使用多重绑定的 WPF 聚合命令