更新时间: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
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19