更新时间: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
1024首播|39岁程序员逆袭记:不被年龄定义,AI浪潮里再迎春天
2025-10-241024程序员节丨10年同行,致敬用代码改变世界的你
2025-10-24【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