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发送HTTP请求的方法小结
Jul 08 Python
简单实现python画圆功能
Jan 25 Python
python 搜索大文件的实例代码
Jul 08 Python
Python实现朴素贝叶斯的学习与分类过程解析
Aug 24 Python
python-序列解包(对可迭代元素的快速取值方法)
Aug 24 Python
python实现修改固定模式的字符串内容操作示例
Dec 30 Python
pytorch中的自定义数据处理详解
Jan 06 Python
python操作yaml说明
Apr 08 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
Dec 18 Python
python 基于PYMYSQL使用MYSQL数据库
Dec 24 Python
教你怎么用Python监控愉客行车程
Apr 29 Python
如何理解python接口自动化之logging日志模块
Jun 15 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
ajax在joomla中的原生态应用代码
2012/07/19 PHP
PHP中把对象数组转换成普通数组的方法
2015/07/10 PHP
innerText和textContent对比及使用介绍
2013/02/27 Javascript
JS图像无缝滚动脚本非常好用
2014/02/10 Javascript
js获取ajax返回值代码
2014/04/30 Javascript
js实现可得到不同颜色值的颜色选择器实例
2015/02/28 Javascript
JavaScript Promise 用法
2016/06/14 Javascript
详解Javascript数据类型的转换规则
2016/12/12 Javascript
jquery UI Datepicker时间控件冲突问题解决
2016/12/16 Javascript
Vue.js事件处理器与表单控件绑定详解
2017/03/20 Javascript
基于Vue实现图书管理功能
2017/10/17 Javascript
深入浅析Node环境和浏览器的区别
2018/08/14 Javascript
微信小程序内拖动图片实现移动、放大、旋转的方法
2018/09/04 Javascript
基于better-scroll 实现歌词联动功能的代码
2020/05/07 Javascript
如何解决jQuery 和其他JS库的冲突
2020/06/22 jQuery
JS猜数字游戏实例讲解
2020/06/30 Javascript
python字典序问题实例
2014/09/26 Python
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
2017/03/20 Python
Python简单生成随机数的方法示例
2018/03/31 Python
搞清楚 Python traceback的具体使用方法
2019/05/13 Python
python 求10个数的平均数实例
2019/12/16 Python
Python3爬虫中pyspider的安装步骤
2020/07/29 Python
苏格兰销售女装、男装和童装的连锁店:M&Co
2018/03/16 全球购物
英国电视和家用电器购物网站:rlrdistribution.co.uk
2018/11/20 全球购物
澳大利亚波希米亚风时尚品牌:Tree of Life
2019/09/15 全球购物
波兰品牌鞋履在线商店:Eastend.pl
2020/01/11 全球购物
C++的几个面试题附答案
2016/08/03 面试题
公司市场部岗位职责
2013/12/02 职场文书
房地产开发计划书
2014/01/10 职场文书
政治学求职信
2014/06/03 职场文书
课内比教学心得体会
2014/09/09 职场文书
法定代表人资格证明书
2014/09/11 职场文书
2014物价局民主生活会对照检查材料思想汇报
2014/09/24 职场文书
介绍长城的导游词
2015/01/30 职场文书
2015年机关作风和效能建设工作总结
2015/07/23 职场文书
nginx.conf配置文件结构小结
2022/04/08 Servers