Django 的默认数据库是 sqlite ,一般大家只是把 sqlite 当做练手的数据库,实际要用的时候,还得用 mysql 等。
下面,我开始 Django 项目迁移到 mysql 数据库。
第一步:准备好 mysql 数据库
我的是本地数据库,信息如下:
数据库地址:127.0.0.1
数据库端口:3306
数据库名称:my_db
用户名:root
密码:******
第二步:修改配置
1、 修改 Django 目录下的 setting.py 文件。
#....
# Database
# https://docs.djangoproject.com/en/3.2/ref/settings/#databases
# 注释 sqlite
# DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': BASE_DIR / 'db.sqlite3',
# }
# }
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 默认
'NAME': 'my_db', # 连接的数据库
'HOST': '127.0.0.1', # mysql的ip地址
'PORT': 3306, # mysql的端口
'USER': 'root', # mysql的用户名
'PASSWORD': '*******' # mysql的密码
}
}
#....
2、修改 Django 目录下的 __init__.py 文件。
import pymysql
pymysql.install_as_MySQLdb()
3、 安装依赖:pymysql
pip install pymysql
第三步:执行:初始化模型
python manage.py migrate
执行成功后,应该是这样的:
Operations to perform:
Apply all migrations: admin, auth, contenttypes, myapi, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
....
如果上述步骤顺利,迁移就算成功了,这个数据再打开 mysql 数据库,就可以看到新增了许多表了。
这个时候就可以启动项目了:python manage.py runserver
完,祝好运。