【发布时间】:2018-02-19 03:42:06
【问题描述】:
我正在尝试将 django 项目中的数据库设置从 sqlite3 更改为 mysql。
我在我的 settings.py 文件中编辑了数据库对象:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'Identity',
'USER' : 'root',
'PASSWORD': ''
}
}
我运行了 django-admin dbshell 并得到了这个错误:
文件 "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/conf/init.py", 第 39 行,在 _setup 中 % (desc, ENVIRONMENT_VARIABLE)) django.core.exceptions.ImproperlyConfigured:请求的设置 数据库,但未配置设置。您必须定义 环境变量 DJANGO_SETTINGS_MODULE 或调用 settings.configure() 在访问设置之前。
我遵循了answer to use settings.configure()的指示
from django.conf import settings
settings.configure()
它返回了这条消息:
Traceback(最近一次调用最后一次):文件“”,第 1 行,in 文件 "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/conf/init.py", 第 63 行,在配置中 raise RuntimeError('设置已配置。') RuntimeError: 设置已配置。
当我运行python3 manage.py shell 时,它给了我这个错误:
文件 "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/db/backends/mysql/base.py", 第 28 行,在 raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e) django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb 模块:没有名为“MySQLdb”的模块
我想要做的就是使用 mySql 而不是 sqlite db。
我该怎么做?
【问题讨论】:
标签: mysql django python-3.x sqlite