Django-连接MySQL(适用于Python3)

本文介绍了如何在Python3环境下安装pymysql和mysqlclient,解决安装mysqlclient的报错问题。接着展示了在Django中配置MySQL数据库的步骤,并说明由于Python3的兼容性问题,需要使用pymysql替代MySQLdb。最后,详细阐述了数据库迁移的过程,包括makemigrations和migrate命令的使用。
摘要由CSDN通过智能技术生成

一、安装pymysql和mysqlclient

pip install pymysql

pip install mysqlclient # Python3会报错,需要手动安装,见下面问题;

安装mysqlclient报错(pip install mysqlclient)

原因:python3需要下载单独mysqlclient 

解决-下载地址: https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient 下载指定文件,例如:Python3.7,win环境是64位,所以下载了mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl。

Python38坑点:下载"mysqlclient-1.4.6-cp38-cp38-win_amd64.whl"后执行仍然报错;解决方案,将"mysqlclient-1.4.6-cp38-cp38-win_amd64.whl"改名为"mysqlclient-1.4.6-cp38-cp38m-win_amd64.whl";

二、配置

1、settings.py文件配置

# 原默认配置sqlite3 (注释掉)
# DATABASES = {
#     'default': {
#         'ENGINE': 'django.db.backends.sqlite3',
#         'NAME': BASE_DIR / 'db.sqlite3',
#     }
# }
# 配置默认数据库为MySQL数据库
DATABASES = {
    'default':
    {
        'ENGINE': 'django.db.backends.mysql',   # 数据库引擎
        'NAME': 'django_test001',  # 数据库名称
        'HOST': '127.0.0.1',  # 数据库地址,本机 ip 地址 127.0.0.1
        'PORT': 3306,  # 端口
        'USER': 'root',  # 数据库用户名
        'PASSWORD': '123456',  # 数据库密码
    }
}

2、Django 连接mysql默认驱动是MySQLdb,MySQLdb没有支持python3的版本,如果使用python3.x版本时,django连接mysql的方法 1、使用pymysql替换MySQLdb 在配置文件同目录下的init.py文件中加入以下代码

import pymysql
pymysql.install_as_MySQLdb()

三、迁移数据库

Django中通过以下命令来迁移数据库,在每次创建Model时,执行该命令,在数据库中生成对应的表:

python manage.py makemigrations
python manage.py migrate

四、相关连接

python3 django整理(六)配置数据库(mysql) - 码农教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值