Django 静态文件不会加载到已部署的服务器上

Django static files doesn't load on deployed server

我使用最新版本的 django、apache 和 mod_wsgi。我尝试在 Ubuntu 16 上部署项目。与静态文件相关的问题。它们没有加载,如下图所示 (figure there)。 实际上,也许我只是看不出我在哪里犯了错误,因为我在 google 和 Whosebug.

中尝试了大多数东西

.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