Ich habe kürzlich eine Django-App auf Heroku gestellt. Die Homepage sieht gut aus, aber wenn ich versuche, zu einer Seite zu gelangen, die eine Abfrage durchführt (z. B. p = Photo.objects.get(title=title)
), erhalte ich diesen Fehler:
In Übereinstimmung mit dieser Antwort habe ich $ heroku pg:promote HEROKU_POSTGRESQL_GREEN_URL
Dann in meiner settings.py:
DATABASES = {'default': dj_database_url.config(default=os.environ['DATABASE_URL'])}
Immer noch der gleiche Fehler, also habe ich versucht, die Ergebnisse zu betrachten (wie diese Antwort vorschlägt):
%Vor%An diesem Punkt wurde mir klar, dass ich nicht weiß, wonach ich eigentlich suchen sollte. Ich verstehe immer noch nicht, was der Fehler bedeutet, also bin ich mir nicht sicher, wie ich das Problem beheben kann.
Sie haben Ihre django-Datenbank in settings.py nicht richtig konfiguriert. Es denkt, dass Ihre Datenbank auf localhost ist. Klingt so, als hättest du eine postgres-Datenbank von Heroku, also sollte dein Host so aussehen:
df3-64-304-50-250.compute-1.amazonaws.com
Heroku macht eine spezielle Datenbank-URL über eine Umgebungsvariable verfügbar:
DATABASE_URL
Es gibt ein sehr cooles Python-Paket namens dj_database_url: Ссылка es konvertiert diese Umgebungsvariable in das, was django erwartet .
Sie können es installieren mit:
$ pip install dj-database-url
Ich verwende Folgendes in meiner settings.py
%Vor%Tags und Links django heroku-postgres