Django auf Heroku - Gebrochen Admin Statische Dateien
Habe ich eine Django-app, die auf Heroku/Zeder, konfiguriert gemäß der Anleitung auf https://devcenter.heroku.com/articles/django
Mit gunicorn als pro Heroku Anweisungen versagt zu zählen, die statische Dateien, die erforderlich für Django-admin-Funktion. Ändern kann ich das Procfile zu "manage.py run_gunicorn" für die lokale Entwicklung, das heißt aber nicht Fliegen auf Heroku.
Ich habe gesucht alle über ein Update - gibt es eine Möglichkeit um die admin-statischen Dateien, ohne Sie zu werfen auf S3 mit meinen anderen statischen Dateien?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie runserver und konfigurieren Sie Ihre app mit DEBUG=True, dann wird es dienen, die admin-Dateien genau wie auf Ihrem Entwicklungscomputer. Dies ist jedoch definitiv nicht der empfohlene Weg, es zu tun, und ich würde vorschlagen, dass Sie Sie auf S3.
Verwendung des django-Speicher app ist es sehr einfach zu konfigurieren collectstatic automatisch schieben Sie alle admin-Dateien zu S3. Finden Sie Richtungen hier
Check out this post: http://matthewphiong.com/managing-django-static-files-on-heroku
Wenn das nicht für Sie arbeiten, versuchen Sie das folgende zu Ihrem urls.py nach der normalen url-Muster für Tupel. Stellen Sie sicher, dass Ihre STATIC_ROOT eingestellt und Sie laufen haben, sammeln statisch auf Ihre lokale Umgebung, die alle vor dem drücken auf heroku.
fügen Sie einfach diese statt
mit django 1.4.1
Scheint es wenig zu spät im Vergleich zu den bat Datum. Aber ich habe in dieser Angelegenheit und verbrachte 30 Minuten auf, was ich falsch gemacht habe. So ist es hier die Magische Lösung für diejenigen, die fallen in diese Falle.
Gibt es einige problem mit Heroku ist
django.contrib.staticfiles.urls
LÖSUNG
Zu installieren, müssen Sie
dj-static
(Link zum download) auf Ihrem Heroku-setup.Es ist eine Django-middleware-Dienstprogramm, das erlaubt, um richtig zu dienen, die statischen assets von der Produktion mit einem WSGI-server wie Gunicorn.
Ich hoffe, dies hilft jemand.
erstellen Sie "statische" Ordner in Ihrem "project_directory'.
stellen Sie die 'STATIC_ROOT' Pfad 'settings.py' Datei, die dazu dienen können Ihre admin-Seite die statischen Dateien.
Hinzufügen STATIC_ROOT in '/urls.py'
Führen Sie den folgenden Befehl, kopiert die admin-statische Dateien in Projekt statische Ordner.
Nun ein git add, commit und push heroku master.
Bekam ich django-admin-arbeiten mit folgenden änderungen
urls.py(am Ende)
Procfile
Wenn Sie eine Bereitstellung auf Heroku ohne Verwendung von whitenoise (was ich empfehlen würde), auf jeden Fall nutzen dj_static https://pypi.python.org/pypi/dj-static!
Verbrachte ich die letzten 3 Stunden versucht, zu dienen, meine Dateien zu heroku und dj_static arbeitete in einer Angelegenheit von 2 Minuten.
'django.contrib.staticfiles.Blick.dienen'
statt
'django.Blick.statisch.dienen'
Folgen, diese alle zu beheben statischen Problemen mit Django und heroku.
In Ihrem
settings.py
fügen Sie diese am EndeIhre Vorlage für ein bestimmtes app sollte in
app_name/templates/app_name/
Beim Rendern Vorlage das ist, wie Sie angeben
template name
in
views.py
Für
static files
legen Sie Ihre Dateien hier:project_folder/app_name/static/app_name/css
project_folder/app_name/static/app_name/js
project_folder/app_name/static/app_name/img
Zugriff auf Ihre statische Datei-Pfad
app_name/css/style_name.css
Wenn Sie dieser Folgen, alle statischen Dateien geladen werden, die sich gut in heroku sowie in Ihrem lokalen Entwicklungscomputer.