为什么gunicorn找不到静态文件?

时间:2017-09-01 17:58:11

标签: python django nginx gunicorn digital-ocean

运行Django dev服务器没有问题:'python manage.py runserver 9000' 但如果使用gunicorn,它会抱怨:

'http://innovindex.com/pubmed/static/js/jquery-3.2.1.min.js'

为什么gunicorn找不到本地jquery但Django可以?

设置为:

settings.py(似乎没有关系):

STATIC_URL = '/pubmed/static/'

在'/ etc / nginx / sites-enabled / django'

location /static {
   alias /home/django/innovindex/pubmed/static/;
}

我的应用程序看起来像这样:

/家庭/ django的/ innovindex

是'manage.py'所在的位置。

非常感谢!!!

1 个答案:

答案 0 :(得分:1)

从Django文档中的Deploying static files开始,除了设置collectstatic设置外,还必须运行STATIC_ROOT命令。

首先确保您将STATIC_ROOT设置为与您的nginx配置匹配的正确路径:

STATIC_ROOT = '/home/django/innovindex/pubmed/static/'

请注意,这是绝对路径。

然后运行:

python manage.py collectstatic

在项目目录中。

这会将所有静态文件复制到/home/django/innovindex/pubmed/static/