PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Distribuire Django su Heroku (errore Psicopg2)

MODIFICATO:

Come ha sottolineato @mipadi qui (http://stackoverflow.com/questions/13001031/django-heroku-settings-injection/13092534), in realtà può essere così semplice:

import dj_database_url

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

Funziona se hai una variabile env DATABASE_URL impostata. heroku:pg_promote ti arriva. Dettagli sotto

Assicurati di avere Postgres sul tuo Heroku

heroku addons:add heroku-postgresql:dev

Passaggio 1:scopri l'URL del tuo database

heroku config | grep POSTGRESQL

L'output sarà simile a questo:

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

Passaggio 2:prendi il nome dell'impostazione dal passaggio precedente (ad es. HEROKU_POSTGRESQL_ROSE_URL) e inseriscilo nel file delle impostazioni in questo modo

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

[UPDATE] Come ha sottolineato Ted, c'è un modo per promuovere l'URL del colore nella variabile DATABASE_URL:

heroku pg:promote HEROKU_POSTGRESQL_ROSE_URL

Le impostazioni del database possono quindi utilizzare DATABASE_URL invece di URL colorati più esotici

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

Bob è tuo zio