2017-09-01 3 views
0

Lauf Django Dev-Server hat kein Problem: 'Python manage.py runserver 9000' Aber wenn Gebrauch gunicorn, es klagt:Warum kann Gunicorn statische Dateien nicht finden?

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

Warum gunicorn keine lokale jquery aber Django kann finden kann?

Die Einstellungen sind:

settings.py (nicht verwandt scheint):

STATIC_URL = '/pubmed/static/' 

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

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

Und mein app sieht so aus:

/home/django/innovindex

ist, wo das "manage.py" sitzt.

DANKE SO VIEL !!!

+0

kopieren Haben Sie laufen 'collectstatic'? –

+1

Wie @The_Cthulhu_Kid erwähnt, müssen Sie 'python manage.py collectstatic' ausführen, um Ihre statischen Dateien in einem einzigen Verzeichnis zu generieren, damit die Dinge funktionieren. Wenn Sie ein 'ls -al/home/django/innovindex/pubmed/static /' machen, werden Sie feststellen, dass es ab jetzt leer ist. –

+0

Warum sollte Gunicorn irgendwelche Geschäfte mit statischen Dateien machen? Gunicorn ist ein WSGI-Server, der sich nicht mit statischen Dateien beschäftigt. –

Antwort

1

Von Deploying static files in der Django-Dokumentation müssen Sie den collectstatic-Befehl zusätzlich zur Einstellung der STATIC_ROOT-Einstellung ausführen.

Vergewissern Sie sich zuerst, dass Sie STATIC_ROOT auf den richtigen Pfad festgelegt ist, dass Ihre nginx Konfiguration entspricht:

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

Beachten Sie, dass dies ein absoluter Pfad ist.

Dann laufen:

python manage.py collectstatic 

in Ihrem Projektverzeichnis.

Dies wird alle Ihre statischen Dateien in /home/django/innovindex/pubmed/static/

Verwandte Themen