Czy analizujesz zmienną środowiskową DATABASE_URL? Będzie to wyglądać mniej więcej tak:
postgres://username:[email protected]:port/database_name
Więc będziesz chciał to pobrać i przeanalizować, zanim otworzysz połączenie z bazą danych. W zależności od tego, jak zadeklarowałeś swoją bazę danych (w swojej konfiguracji lub obok aplikacji wsgi), może to wyglądać tak:
import os
import urlparse
urlparse.uses_netloc.append('postgres')
url = urlparse.urlparse(os.environ['DATABASE_URL'])
# for your config
DATABASE = {
'engine': 'peewee.PostgresqlDatabase',
'name': url.path[1:],
'password': url.password,
'host': url.hostname,
'port': url.port,
}
Zobacz uwagi tutaj:https://devcenter.heroku.com/articles/django