2012-05-08 13 views
0

I次の操作を行います。以下のsettings.pyDjangoのデータベース設定

DATABASE_ENGINE = 'mysql' 
DATABASE_NAME  = 'Test' 
DATABASE_USER  = 'root' 
DATABASE_PASSWORD = 'testpw' 
DATABASE_HOST  = '/var/run/mysql' 
DATABASE_PORT  = '3306' 
INSTALLED_APPS  = ('myApp') 

私は私の設定でミスをしたが得ることができないで

myScript.py

# settings.py 
from django.conf import settings 
from django.db import models 
from myApp.models import * 


    settings.configure(
     DATABASE_ENGINE = 'django.db.backends.mysql', 
     DATABASE_NAME  = 'Test', 
     DATABASE_USER  = 'root', 
     DATABASE_PASSWORD = 'testpw', 
     DATABASE_HOST  = '/var/run/mysql', 
     DATABASE_PORT  = '3306', 
     INSTALLED_APPS  = ('myApp') 
    ) 

    from django.db import models 
    from myApp.models import * 

エラーは何かデータベースは、私は次に何を私のmanage.pyではうまく動作し、パスワードとユーザー名でアクセス... :"DJANGO_SETTINGS_MODULE", "standAlone.myScript"

は、これは私のエラーです:raise ImproperlyConfigured("settings.DATABASES is improperly configured. "django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured.

+0

トレースバックを投稿してください。 settings.configure()を呼び出す前に例外が発生したと思います。 settings.configureの直前に "assert 0"を追加するか、トレースバックを注意深く見てください。 – guettli

+0

@guettliどういう意味ですか?意味が分からない。私はそれを間違っていますか? – Chriskras

+1

'INSTALLED_APPS'はタプルです。それを 'INSTALLED_APPS =( 'myApp'、)' –

答えて

4

は、設定のDATABASE_*家族だったジャンゴ1.2、以降で新しいDATABASESの設定を推奨します。 1.4ではそれは完全に削除されました。つまり、1.4以降では、にはの設定を使用するがあります。

のドキュメントを参照してください: https://docs.djangoproject.com/en/dev/ref/settings/#databases https://docs.djangoproject.com/en/dev/internals/deprecation/#id1

更新: だけに

DATABASE_ENGINE = 'django.db.backends.mysql', 
    DATABASE_NAME  = 'Test', 
    DATABASE_USER  = 'root', 
    DATABASE_PASSWORD = 'testpw', 
    DATABASE_HOST  = '/var/run/mysql', 
    DATABASE_PORT  = '3306', 

を書き換えます

DATABASES = { 
    'default' : { 
     'ENGINE': 'django.db.backends.mysql', 
     'NAME': 'Test', 
     'USER': 'root', 
     'PASSWORD': 'testpw', 
     'HOST': '/var/run/mysql', 
     'PORT': '3306', 
    } 
} 

と設定されています。

更新:
ただ、サイドノートとして、代わりにコマンドラインスクリプトでsettings.configureを使用しようと、バッチジョブを実行するために推奨される方法はmanagement commandsを作成することです。そうすることで、設定を複製したり、環境を混乱させる必要がなくなり、設定が通常のWebアプリケーションと同じメカニズムを使用してロードされるので、それらは同じになることが保証されます。

+0

に変更してください。私はDjangoの変更が間違っていないことを提案します。今私の質問はどうすれば解決できるのですか?リンクを読んでくださいが、私はそれを解決するために何をすべきか分かりません。既にあなたの助けをありがとう! – Chriskras

+0

私はバージョン1.4を実行します。 – Chriskras

+0

更新された回答を参照してください。 – koniiiik

0

settings.pyファイルが適切なデータベース設定で更新されていることを確認し、python manage.py syncdbを試してエラーがないかどうかを確認してください。

関連する問題