找不到Django中的所有静态文件,但是findstatic发现它们

时间:2018-06-14 21:12:05

标签: django python-3.x apache ubuntu-16.04 mod-wsgi

我正在使用Apache和mod_wgsi在Ubuntu 16.04 LVM上开发Django站点。当我尝试加载我的一个页面时,所有静态文件都会给出404找不到的错误。我相信我的设置设置正确,因为

  

python3 manage.py findstatic

能够找到文件并使用DEBUG = off和--insecure标志运行开发服务器,它仍能正常工作。这是否意味着apache存在问题?

以下是我的静态文件设置:

STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
        #'/home/matt/jukebox/bin/jukebox/static/'

)

有人知道可能出现什么问题吗?这些文件是先前提供的,但在更新我的服务器和网站代码后,它停止了服务。

谢谢

1 个答案:

答案 0 :(得分:1)

将此添加到我的apache配置文件中修复了问题:

Alias /static /home/user/myproject/static
<Directory /home/user/myproject/static>
    Require all granted
</Directory>

我在这里找到答案: https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-apache-and-mod_wsgi-on-ubuntu-14-04

仍然不确定为什么没有这些设置之前它一直在工作,但希望这个答案可以帮助某人。