8

ここの手順に従って、HerokuにDjangoインスタンスをセットアップしようとしています。

次の手順まで、Celeryのインストールまで完了しました。

$ python manage.py syncdb

次のエラーが発生した場合:

raise ImproperlyConfigured("settings.DATABASESが不適切に構成されています。"django.core.exceptions.ImproperlyConfigured:settings.DATABASESが不適切に構成されています。ENGINE値を指定してください。詳細については、設定のドキュメントを確認してください。

私は自分のsettings.pyファイルが正しい場所(project-name/project-name)にあり、django 1.4.3を実行していると信じていますが、実行しようとするとmanage.py diffsettings、次の出力が得られます。

BROKER_BACKEND ='django' ### DATABASES = {'default':{'ENGINE':'django.db.backends.dummy'、'TEST_MIRROR':None、'NAME':''、'TEST_CHARSET':None、 ' TIME_ZONE':' UTC'、' TEST_COLLATION':なし、' PORT':''、' HOST':''、' USER':''、' TEST_NAME':なし、' PASSWORD':''、' OPTIONS ' :{}}}

django.db.backends.dummyエントリがどこから来たのかまったくわかりません。Herokuの手順ではどの時点でも更新するように指示されていなくても、これが正しいエントリであると思いますsettings.py'ENGINE': 'django.db.backends.postgresql_psycopg2'

ここで編集する必要がある考えはありますか?

4

3 に答える 3

9

私は同じ問題に遭遇しました。https://devcenter.heroku.com/articles/django#prerequisitesの Heroku ドキュメントでは、以下を に追加するように指示されていsettings.pyます。

DATABASES['default'] =  dj_database_url.config()

次のパラメーターを渡すことができます。

DATABASES['default'] =  dj_database_url.config(default='postgres://user:pass@localhost/dbname')

これにより、ローカルおよび Heroku での開発が可能になります。私が抱えていた問題を実際に解決したのは、DATABASE_URL の Heroku 構成環境変数が実際には設定されていなかったことです。これを設定するために、私は走った

$ heroku config

別の構成変数に割り当てられたデータベース URL を見ました。そこで、新しい変数を作成しました:

$ heroko config:add DATABASE_URL={#the database url}

それは私の問題を解決しました。同様の問題を抱えている他の人の助けになることを願っています。

于 2013-04-10T23:58:47.887 に答える
7

settings.py の DATABASE 設定の後にこれらの行を追加してみてください

# Your Database setting. 
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.',  # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': '',  # Or path to database file if using sqlite3.
        'USER': '',  # Not used with sqlite3.
        'PASSWORD': '',  # Not used with sqlite3.
        'HOST': '',  # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',  # Set to empty string for default. Not used with sqlite3.
    }
}
# Add these two lines.
import dj_database_url
DATABASES['default'] = dj_database_url.config(default='sqlite://db/sqlite3.db')
于 2013-02-10T08:05:03.817 に答える