PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Bereitstellen von Django für Heroku (Psycopg2-Fehler)

BEARBEITET:

Wie @mipadi hier (http://stackoverflow.com/questions/13001031/django-heroku-settings-injection/13092534) aufgezeigt hat, kann es tatsächlich so einfach sein:

import dj_database_url

DATABASES = {'default' : dj_database_url.config() }

Dies funktioniert, wenn Sie eine DATABASE_URL-Umgebungsvariable festgelegt haben. heroku:pg_promote bringt Sie dorthin. Details unten

Stellen Sie sicher, dass Postgres auf Ihrem Heroku

installiert ist
heroku addons:add heroku-postgresql:dev

Schritt 1:Finden Sie Ihre Datenbank-URL heraus

heroku config | grep POSTGRESQL

Die Ausgabe sieht in etwa so aus:

HEROKU_POSTGRESQL__URL:postgres://user:[email protected]:5432/blabla

Schritt 2:Nehmen Sie den Einstellungsnamen aus dem vorherigen Schritt (z. B. HEROKU_POSTGRESQL_ROSE_URL) und fügen Sie ihn so in Ihre Einstellungsdatei ein

DATABASES = {'default': dj_database_url.config(default=os.environ["HEROKU_POSTGRESQL_ROSE_URL"])}

[UPDATE] Wie Ted bereits gesagt hat, gibt es eine Möglichkeit, die Farb-URL in die Variable DATABASE_URL umzuwandeln:

heroku pg:promote HEROKU_POSTGRESQL_ROSE_URL

Ihre Datenbankeinstellungen können dann DATABASE_URL anstelle exotischer farbiger URLs

verwenden
DATABASES = {'default': dj_database_url.config(default=os.environ["DATABASE_URL"])}

Bob ist dein Onkel