2017-08-16 4 views
2

Ich habe eine Django-Site auf Heroku bereitgestellt und reguläre statische Dateien funktionieren, aber statische Admin-Dateien sind nicht.Django Admin statische Dateien arbeiten nicht auf Heroku mit Whitenoise

EDIT: Ich benutze Gunicorn, aber nach einigen weiteren Untersuchungen scheint es, dass ich etwas wie Nginx in Verbindung mit Gunicorn verwenden müsste, um zu erreichen, wonach ich suche. Kann das irgendjemand dazu beraten?

Hier ist meine settings.py

PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__)) 

STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static') 
STATIC_URL = '/static/' 

STATIC_FILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage' 

STATICFILES_DIRS = [os.path.join(PROJECT_ROOT, "staticfiles")] 

Diese Einstellungen Arbeit meine normale statische Dateien zu dienen, aber wie ich schon sagte, die Admin-Dateien funktionieren nicht. Ich bekomme eine 404 in der Konsole, wenn es versucht, die statischen Dateien zu laden. Was ich in der Admin-URL angezeigt bekomme, ist eine Seite ohne CSS. Nur roher Browser zeigt die Login-Felder und Titel an. Ich kann nicht sagen, ob es eine Beschränkung der Whitenoise ist, und ich muss Dateien irgendwo anders hosten, oder wenn ich etwas verpasse. Ich würde es vorziehen, alles in Heroku zu behalten, da es für mich jetzt kostenlos ist.

+0

Was bedeutet "nicht richtig funktioniert"? Bitte lesen Sie [fragen] nach Tipps zum effektiven Stellen von Fragen. – Chris

+0

Funktioniert überhaupt nicht. Es tut uns leid. Ich erhalte 404 für statische Admin-Dateien – csling

+0

Sind statische Admin-Dateien korrekt lokal (wenn Sie das Projekt im DEBUG-Modus ausführen)? –

Antwort

0

Ich habe das gleiche Problem - dass meine App funktioniert gut, aber die Django-Admin-App ist nicht richtig Styling, weil es nicht die statischen Dateien finden, wenn auf Heroku bereitgestellt (es auf meinem lokalen Rechner gut rendert)

ich habe es endlich, indem sie collectstatic auf meinem lokalen Rechner zu arbeiten:

python manage.py collectstatic 

Dies erzeugt ein statisches/Verzeichnis in meinem Haupt-Projektverzeichnis (dh das gleiche Verzeichnisses, in dem manage.py befindet). Ich habe dann das Unterverzeichnis admin/in das Verzeichnis/static/verschoben (d. H. Das statische Verzeichnis, in dem sich settings.py befindet). Ich habe dann auf Heroku & umgeschichtet, jetzt ist die Admin-Site richtig gestylt. Hoffe das hilft!

Verwandte Themen