一,安装MySQL的驱动
1,python2版本的安装MySQLdb,pip安装pip安装MySQLdb
2,python3版本的安装pySQLdb,pip安装pip install pySQLdb
二,修改配置
打开setting.py配置文件
DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), # } 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'stackoverflow', #数据库名称 'USER': 'root',#用户名 'PASSWORD': 'root', #密码 'HOST': 'localhost', #地址 'PORT': '3306', #端口 'CHARSET': 'utf8', 'COLLATION': 'utf8_general_ci', } }
setting同目录下的_init_.py添加:
import pymysql
pymysql.install_as_MySQLdb()
三,同步数据库
python manage.py makemigrations制造迁移生成相应的文件,这个文件也就是让数据库生成相应表的代码文件。
python manage.py migrate迁移,即运行上步骤中生成的文件,然后在数据库生成相应的表
使数据库状态与当前模型集和迁移集同步。说白了,就是将对数据库的更改,主要是数据表设计的更改,在数据库中真实执行。例如,新建,修改,删除数据表,新增,修改,删除某数据表内的字段等等。
同步过程中如出现django.core.exceptions.ImproperlyConfigured:加载MySQLdb模块时出错:没有名为'MySQLdb'的模块,原因是:
在python2中,使用pip install mysql-python进行安装连接MySQL的库,使用时导入MySQLdb进行使用,在python3中,改变了连接库,改为了pymysql库,使用pip install pymysql进行安装,直接导入导入pymysql使用,本来在上面的基础上把python3的pymysql库安装上去就行了,但是问题依旧,经过查阅得知,Django依旧是使用py2的MySQLdb库的,得到进行适当的转换才行。
解决办法:
在__init__.py文件中添加以下代码
导入pymysql
pymysql.install_as_MySQLdb()
如果是原数据库sqlite3的已有数据,需要迁移到MySQL的上,则参考http://www.voidcn.com/article/p-hesvaooz-ru.html