更新时间:2023-02-14 来源:黑马程序员 浏览量:

在一些大型的项目演练中,通常项目会拟采用MySQL存储商品数据、用户账户数据和订单等数据量较大、需持久化存储的数据,Django默认使用的数据库是sqlite3,下面分步骤介绍如何为Django项目配置MySQL数据库。
1.新建MySQL数据库
为项目配置MySQL数据库之前需先创建小鱼商城的数据库和授权用户,在本地主机新建MySQL数据库xiaoyu(编码方式为utf-8),创建MySQL用户itheima(密码为123456)并授权该用户访问xiaoyu_mall。
2.配置MySQL数据库
打开配置文件dev.py,修改DATABASES的配置信息,修改后的代码如下:
DATABASES = {
'default': {
# 'ENGINE':'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'ENGINE': 'django.db.backends.mysql', # 数据库引擎
'HOST': '127.0.0.1', # 数据库主机
'PORT':3306, # 数据库端口
'USER':'itheima', # 数据库用户名
'PASSWORD':'123456', # 数据库用户密码
'NAME':'xiaoyu', # 数据库名字
}
}3.安装PyMySQL扩展包
数据库配置完成后可能出现以下错误:
Error loading MySQLdb module: No module named 'pymysql'.
出现以上错误是因为Django中操作MySQL数据库需要启动程序PyMySQL,而且前虚拟环境中没有驱动程序PyMySQL。安装PyMySQL可以解决以上错误:
(xiaoyu_mall) E:\xiaoyu_mall>pip install PYMYSQL
但是后期创建应用时又会出现以下异常:
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
这是因为目前Python3使用的MySQL数据库驱动程序为mysqlclient。mysqlclient和PyMySQL实质上是由同一作者研发的不同版本的MySQL数据库驱动程序,PyMySQL相对陈旧,这里需要卸载PyMySQL,安装mysqlclient以解决异常,具体操作如下:
(xiaoyu_mall) E:\xiaoyu_mall\xiaoyu_mall\apps>pip unistall pymysql (xiaoyu_mall) E:\xiaoyu_mall\xiaoyu_mall\apps>pip install mysqlclient
毕业16个工作日,平均薪资13180元,就业率100%,广州黑马AI智能应用开发(Java)学科20250529班
2026-03-06毕业32个工作日,平均薪资11147元,就业率95%,广州黑马AI智能应用开发(Java)学科20250326班
2026-03-05黑马程序员2025全国就业数据发布:全学科平均就业率92.07%,AI开发类就业平均薪资达11869.67元。
2026-03-05黑马全国校区齐开班!场面太太太壮观了!
2026-03-03AI智能应用开发课程紧贴企业刚需,全程高效学习,直达中高级软件开发水平
2026-02-28风口正劲!黑马程序员又一AI智能应用开发班毕业当天100%就业!
2026-02-27