2013-06-01 9 views
10

Jestem kompletnym Heroku noob i próbuję skonfigurować aplikację Django na Heroku. Nie wiem, co wpisać dla tych ustawień w ustawieniach .py:Jak skonfigurować bazę danych dla aplikacji Django na Heroku?

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 
     'NAME': '',      # Or path to database file if using sqlite3. 
     # The following settings are not used with sqlite3: 
     'USER': '', 
     'PASSWORD': '', 
     'HOST': '',      # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP. 
     'PORT': '',      # Set to empty string for default. 
    } 
} 

Czy ktoś może mi pomóc? Dziękuję Ci!

Odpowiedz

12

Można to zrobić ręcznie, patrząc na swojej bazy informacji w desce rozdzielczej lub uruchamiając „Heroku config”, aby zobaczyć ciąg konfiguracji DB. Ale najlepszym sposobem jest jak najbardziej szczegółowe w Heroku Getting Started guide for Django. Dodaj dj-database-url==0.2.1 do pliku requirements.txt a następnie:

# Parse database configuration from $DATABASE_URL 
import dj_database_url 
DATABASES['default'] = dj_database_url.config() 

zamiast innych definicji bazy danych.

+1

Dzięki! Mówisz więc, że jeśli edytuję plik requirements.txt, powinienem móc skopiować i wkleić powyższy fragment kodu do pliku settings.py i nie martwić się o wypełnianie ustawień bazy danych? Zrobiłem to wtedy spróbował jazdy „python manage.py syncdb” i uzyskałem następujący błąd: „ImproperlyConfigured: settings.DATABASES jest nieprawidłowo skonfigurowana. Podaj wartość ENGINE. Sprawdź dokumentację ustawień, aby uzyskać więcej informacji. " –

+0

A potem próbowałem ustawić wartość "ENGINE" na "django.db.backends.postgresql_psycopg2" i nadal dało mi ten sam błąd ... hmm. –

+1

Prawdopodobnie problem polega na tym, że ten kod działa na Heroku, gdzie jest już ustawiona zmienna DATABASE_ENV lub inna zmienna systemowa. Zakładam, że próbujesz uruchomić to najpierw w lokalnej kompilacji. Aby rozwiązać ten problem, możesz przekazać domyślny ciąg adresu URL do pliku dj_database_url.config() (zobacz https://github.com/kennethreitz/dj-database-url) lub zachować oddzielny plik ustawień dla lokalnej kompilacji. –

Powiązane problemy