Why gunicorn cannot find static files?

September 1, 2017 6.2k views
Django Ubuntu

Running Django dev server has no problem: 'python manage.py runserver 9000'
But if use gunicorn, it complains:

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

Why gunicorn cannot find a local jquery but Django can?

The settings are:

settings.py (seems not related):
STATIC_URL = '/pubmed/static/'

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

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

And my app looks like this:


is where the 'manage.py' sits.


1 Answer

Because runserver also serves static files at development environment for you. Deployed apps require the webserver to do this. Thats why you have to run manage.py collectstatic on your server so all static files from all apps (appone/static, apptwo/static etc...) are copied to static folder configured in your django settings file.

Have another answer? Share your knowledge.