Python Django切换MySQL数据库实例详解


Posted in Python onJuly 16, 2019

准备

软件 版本
Django 2.1.3
Python 3.7.1

默认使用的是sqlite3

DATABASES = {
   'default': {
     'ENGINE': 'django.db.backends.sqlite3',
     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
   }
}

切换为MySql:

# settings.py
DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'book',
    'USER': 'root',
    'PASSWORD': '123456',
    'HOST': '127.0.0.1',
    'POST': '3306',
  }
}

实现步骤

我们使用Django 来操作MySQL,实际上底层还是通过Python来操作的。因此我们想要用Django来操作MySQL,首先还是需要安装一个驱动程序。在Python3中,驱动程序有多种选择。比如有pymysql以及mysqlclient等。

常见的Mysql驱动介绍:

  • MySQL-python:也就是MySQLdb。是对C语言操作MySQL数据库的一个简单封装。遵循了Python DB API v2。但是只支持Python2,目前还不支持Python3。
  • mysqlclient:是MySQL-python的另外一个分支。支持Python3并且修复了一些bug。
  • pymysql:纯Python实现的一个驱动。因为是纯Python编写的,因此执行效率不如MySQL-python。并且也因为是纯Python编写的,因此可以和Python代码无缝衔接。
  • MySQL Connector/Python:MySQL官方推出的使用纯Python连接MySQL的驱动。因为是纯Python开发的。效率不高。

mysqlclient安装

基于目前的环境以及版本来说,直接运行 pip install mysqlclient 是会报错的,具体错误,自己执行以下就知道了。

解决办法:

去 https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient 下载指定文件,我用的是python3.7,win环境是64位,所以下载了mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl。

然后执行:

pip3 install mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl

如果出现以下说明安装成功:

Installing collected packages: mysqlclient
Successfully installed mysqlclient-1.3.13

迁移数据库

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

python manage.py makemigrations
python manage.py migrate

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中关于字符串对象的一些基础知识
Apr 08 Python
在Python中操作字典之setdefault()方法的使用
May 21 Python
python实现微信发送邮件关闭电脑功能
Feb 22 Python
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
Jun 04 Python
python文本数据处理学习笔记详解
Jun 17 Python
python 计算数据偏差和峰度的方法
Jun 29 Python
在cmd中查看python的安装路径方法
Jul 03 Python
python实现beta分布概率密度函数的方法
Jul 08 Python
简单了解python变量的作用域
Jul 30 Python
Python StringIO如何在内存中读写str
Jan 07 Python
基于pytorch padding=SAME的解决方式
Feb 18 Python
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
Nov 11 Python
Python二维码生成识别实例详解
Jul 16 #Python
python3.6+selenium实现操作Frame中的页面元素
Jul 16 #Python
Python Web版语音合成实例详解
Jul 16 #Python
windows下python虚拟环境virtualenv安装和使用详解
Jul 16 #Python
Pandas中DataFrame的分组/分割/合并的实现
Jul 16 #Python
Python的matplotlib绘图如何修改背景颜色的实现
Jul 16 #Python
python调用其他文件函数或类的示例
Jul 16 #Python
You might like
PHP获取浏览器信息类和客户端地理位置的2个方法
2014/04/24 PHP
Nigma vs AM BO3 第一场2.13
2021/03/10 DOTA
用js实现的一个Flash滚动轮换显示图片代码生成器
2007/03/14 Javascript
TextArea设置MaxLength属性最大输入值的js代码
2012/12/21 Javascript
js判断undefined类型示例代码
2014/02/10 Javascript
js中回调函数的学习笔记
2014/07/31 Javascript
提升PHP安全:8个必须修改的PHP默认配置
2014/11/17 Javascript
实例分析js和C#中使用正则表达式匹配a标签
2014/11/26 Javascript
JavaScript如何实现对数字保留两位小数一位自动补零
2015/12/18 Javascript
AngularJS页面传参的5种方式
2017/04/01 Javascript
Vue实现一个返回顶部backToTop组件
2017/07/25 Javascript
Bootstrap图片轮播效果详解
2017/10/17 Javascript
Vue项目中使用Vux的安装过程
2018/05/01 Javascript
微信小程序scroll-x失效的完美解决方法
2018/07/18 Javascript
Vue使用watch监听一个对象中的属性的实现方法
2019/05/10 Javascript
详解express使用vue-router的history踩坑
2019/06/05 Javascript
Python中使用 Selenium 实现网页截图实例
2014/07/18 Python
Python实现TCP协议下的端口映射功能的脚本程序示例
2016/06/14 Python
Python实现的简单计算器功能详解
2018/08/25 Python
Python之使用adb shell命令启动应用的方法详解
2019/01/07 Python
Python3 实现文件批量重命名示例代码
2019/06/03 Python
python修改FTP服务器上的文件名
2019/09/11 Python
Python实现疫情通定时自动填写功能(附代码)
2020/05/27 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
2020/06/04 Python
Django限制API访问频率常用方法解析
2020/10/12 Python
ALLSAINTS英国官网:伦敦新锐潮流品牌
2016/09/19 全球购物
.NET面试问题集
2015/12/08 面试题
计算机专业个人求职信范例
2013/09/23 职场文书
自荐信格式技巧有哪些呢
2013/11/19 职场文书
高级方案规划工程师岗位职责
2013/11/29 职场文书
个人求职信范文分享
2014/01/06 职场文书
《地震中的父与子》教学反思
2014/04/10 职场文书
2014年领导班子工作总结
2014/12/11 职场文书
作弊检讨书
2015/01/27 职场文书
如何用JavaScript学习算法复杂度
2021/04/30 Javascript
浅谈Python中对象是如何被调用的
2022/04/06 Python