2017-04-21 8 views
0
私はmyappの中に次のsqlite接続を使用しています

に接続していない/ settings.pyファイル:ジャンゴpsycopg2.OperationalError:fe_sendauthエラーが、PostgreSQLのデータベース

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.sqlite3', 
     'NAME': ':testdb:', 
     #I also tried 'NAME': 'testdb', 
    }, 
} 
私manage.pyファイル内

私が使用しています:

./manage.pyコマンドラインで実行されている移行で
if __name__ == "__main__": 
    os.environ.setdefault("myapp.settings") 
    from django.core.management import execute_from_command_line 
    execute_from_command_line(sys.argv) 

私は次のエラーを取得する:

django.db.utils.OperationalError: fe_sendauth: no password supplied 

私はpsycopg2、再実行移行を削除しようとしたし、次のエラーを取得:

django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named 'psycopg2' 

Djangoはアプリケーション内でのみDATABSES構成はですPSQLデータベースに接続しようとしている理由は、私がうまくできませんsqlite3。

これは依存関係によるものでしょうか?

+0

おそらく、依存関係の1つが原因です。 'settings.py'ファイル全体を共有しても構いません。私はそこにいくつかありますが、あなたの 'DATABASES'変数をオーバーライドしているインポートがあると思います。 –

+0

@KrishnaChaitanyaKornepatiはい、依存関係に関連していました。私はdepでソースコードを編集しました。それを修正する。私の設定のどこにでもpsqlを使用しておらず、私があなたの答えを受け入れるならば、上記のあなたのコメントとおそらくそれが依存関係でなければならない理由についての説明を置くことができます – proximacentauri

答えて

0

Djangoは、DATABASESの設定を使用して、特定のデータベースドライバを使用して移行を生成します。私はどこかであなたのDATABASES設定を上書きしていると考えています。これらは、優先順位の高い順にデバッグを探す可能性のある場所です。

  1. DATABASES変数を設定した後に、settings.pyファイルにインポートすると、それが無効になる可能性があります。
  2. 上記のような場合は、この設定を手動で上書きする必要があります。 INSTALLED_APPSを調べることをおすすめします。
  3. まだ十分でない場合は、djangoと対話しようとするプロジェクトで使用している他の依存関係を調べる必要があります。
0

import os 
BASE_DIR = os.path.dirname(os.path.dirname(__file__)) 

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.sqlite3', 
     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 
    } 
} 

これはあなたのために役立つかもしれない、これを試してみてください。

+0

私は以前と同じエラーを受けます。依存関係。私はそれを解決することができますが、回答を投稿しても動作します – proximacentauri

関連する問題