2017-09-10 8 views
0

djangoプロジェクトのデータベース設定をsqlite3からmysqlに変更しようとしています。データベースの設定が要求されていますが、設定がDjangoプロジェクトで設定されていません

私は私のsettings.pyファイルにデータベースオブジェクトを編集した:

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.mysql', 
     'NAME': 'Identity', 
     'USER' : 'root', 
     'PASSWORD': '' 
    } 
} 

を私はジャンゴ管理者dbshel​​lを実行してこのエラーを得た:

File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/conf/init.py", line 39, in _setup % (desc, ENVIRONMENT_VARIABLE)) django.core.exceptions.ImproperlyConfigured: Requested setting DATABASES, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

私はこのanswer to use settings.configure()

からの指示に従っ
from django.conf import settings 
settings.configure() 

このメッセージを返しました:

Traceback (most recent call last): File "", line 1, in File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/conf/init.py", line 63, in configure raise RuntimeError('Settings already configured.') RuntimeError: Settings already configured.

私はpython3 manage.py shellを実行したとき、それは私に、このエラーを与える:

File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/db/backends/mysql/base.py", line 28, in raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e) django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'

私がやりたいすべてではなくsqliteのDBのMySQLを使用しています。

どうすればよいですか?

答えて

0

それは、のMySQLdbパッケージが不足しているようで、 あなたは、このパッケージをチェックすることができ、あなたの仮想環境では

apt-get install mysql-server

apt-get install mysql-client

apt-get install libmysqlclient-dev

をインストールされている、MySQLのクライアントに準拠してMySQLの設定を行い、その後

pip install mysqlclient

をインストールsettings.py

DATABASES = { 
     'default': { 
     'ENGINE': 'django.db.backends.mysql', 
     'NAME': 'test_db',#database name 
     'HOST': '127.0.0.1',# 
     'PORT': '3306',#mysql port 
     'USER': 'root',#mysql username 
     'PASSWORD': 'test123',#mysql password 
     'OPTIONS': { 
     'init_command': "SET sql_mode='STRICT_TRANS_TABLES'", 
     'charset': 'utf8mb4', 
     } 
    } 
    } 
関連する問題