2013-06-01 2 views
10

Я полный Heroku noob, и я пытаюсь настроить приложение Django на Heroku. Я не могу понять, что вводить для этих настроек в settings.py:Как настроить базу данных для приложения Django на 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. 
    } 
} 

Может ли кто-нибудь помочь мне? Спасибо!

ответ

12

Вы можете сделать это вручную, посмотрев информацию о своей базе данных на панели управления или запустив конфигурацию «heroku», чтобы увидеть строку конфигурации DB. Но наилучшим способом, как подробно описано в Heroku Getting Started guide for Django. Добавить dj-database-url==0.2.1 в свой requirements.txt файл, а затем:

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

вместо других определений базы данных.

+1

Спасибо! Итак, вы говорите, что если я отредактирую файл требований.txt, тогда я смогу скопировать и вставить вышеуказанный фрагмент кода в settings.py и не беспокоиться о том, чтобы заполнить настройки базы данных? Я сделал это, а затем попытался запустить «python manage.py syncdb» и получил следующую ошибку: «Неправильноконфигурировано: настройки.DATABASES неправильно настроены. Пожалуйста, поставьте значение ДВИГАТЕЛЬ. Подробнее см. Документацию по настройкам. ' –

+0

И затем я попытался установить значение «ДВИГАТЕЛЬ» на «django.db.backends.postgresql_psycopg2», и он все равно дал мне ту же ошибку ... хм. –

+1

Вероятно, проблема в том, что этот код предназначен для работы на Heroku, где уже установлен ваш DATABASE_ENV или какая-либо другая системная переменная. Я предполагаю, что вы пытаетесь запустить это сначала в своей локальной сборке. Чтобы устранить эту проблему, вы можете передать строку URL по умолчанию в dj_database_url.config() (см. Https://github.com/kennethreitz/dj-database-url) или сохранить отдельный файл настроек для вашей локальной сборки. –

Смежные вопросы