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

Python 为什么gunicorn找不到静态文件?,python,django,nginx,gunicorn,digital-ocean,Python,Django,Nginx,Gunicorn,Digital Ocean,运行Django开发服务器没有问题:“python manage.py runserver 9000” 但如果使用gunicorn,它会抱怨: '' 为什么gunicorn找不到本地jquery,而Django可以 设置如下: settings.py(似乎不相关): 在“/etc/nginx/sites enabled/django”中 location /static { alias /home/django/innovindex/pubmed/static/; } 我的应用程序如下所

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

''

为什么gunicorn找不到本地jquery,而Django可以

设置如下:

settings.py(似乎不相关):

在“/etc/nginx/sites enabled/django”中

location /static {
   alias /home/django/innovindex/pubmed/static/;
}
我的应用程序如下所示:

/home/django/innovindex

是“manage.py”所在的位置

非常感谢你

在Django文档中,除了设置
STATIC\u ROOT
设置外,还必须运行
collectstatic
命令

首先确保您是静态的\u ROOT设置为与nginx配置匹配的正确路径:

STATIC_ROOT = '/home/django/innovindex/pubmed/static/'
请注意,这是一条绝对路径

然后运行:

python manage.py collectstatic
在项目目录中


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

您是否运行了
collectstatic
?正如@u Cthulhu_孩子提到的,您需要运行
python manage.py collectstatic
将静态文件生成到一个目录中,以便工作。如果你做一个
ls-al/home/django/innovindex/pubmed/static/
,你会发现它现在是空的,为什么gunicorn要处理静态文件?gunicorn是一个WSGI服务器,它不处理静态文件。您的静态文件由Nginx而不是gunicorn提供。检查您的nginx配置,使用nginx更好地服务静态文件应该是alias/home/django/innovindex/pubmed,而不是/home/django/innovindex/pubmed/static如果这里的django文档()提到这个问题并链接到这里的静态文件文档可能会有所帮助:
python manage.py collectstatic