Django项目默认 sqlite3 数据库, 生成的数据库名为 db.sqlite3
sqlite3 仅供测试使用,可以通过配置修改为使用 mysql
一、配置使用MySQL数据库
1、手动创建mysql数据库,例如db_Django03
create database db_django03 charset=utf8;
2、在与项目同名的setting.py文件中,配置mysql
DATABASES = {
# Django默认配置使用sqlite3数据库
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
# }
# 配置使用mysql
'default': {
'ENGINE': 'django.db.backends.mysql', # 数据库产品
'NAME': 'db_Django03', # 数据库名
'HOST': 'localhost', # 主机地址,本机使用localhost,生产环境为实际主机ip
'PORT': '3306', # 端口
'USER': 'root', # 用户名
'PASSWORD': 'mysql', # 密码
}
}
3、在python虚拟环境下安装 MySQL 驱动
pip install pymysql
4、在与项目同名的包下的 init.py 文件中,初始化MySQL驱动
# 初始化mysql驱动
import pymysql
pymysql.install_as_MySQLdb()
二、迁移命令生成表
在配置完mysql的配置项后,需要进入到项目的根目录,在终端上执行两个命令,生成数据库表
1、生成迁移文件
python manage.py makemigrations
2、生成数据库表
python manage.py migrate
3、查看数据库表
此时的mysql中只有django默认生成的表,还没有自己定义的表,当定义了模型类后,需要执行两个迁移命令,才能生成表
只要模型类涉及到结构改变,也是需要重新执行两个迁移命令