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怎么学好python?
Oct 07 Python
pycharm 使用心得(五)断点调试
Jun 06 Python
python实现分页效果
Oct 25 Python
django实现登录时候输入密码错误5次锁定用户十分钟
Nov 05 Python
python简单实现操作Mysql数据库
Jan 29 Python
解决Python中pandas读取*.csv文件出现编码问题
Jul 12 Python
pip 安装库比较慢的解决方法(国内镜像)
Oct 06 Python
分享8点超级有用的Python编程建议(推荐)
Oct 13 Python
tensorflow 查看梯度方式
Feb 04 Python
Python 输出详细的异常信息(traceback)方式
Apr 08 Python
python如何提升爬虫效率
Sep 27 Python
Python趣味爬虫之用Python实现智慧校园一键评教
May 28 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中函数内引用全局变量的方法
2008/10/20 PHP
php通过function_exists检测函数是否存在的方法
2015/03/18 PHP
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
2016/04/27 PHP
PHP实现简单日历类编写
2020/08/28 PHP
js操作Xml(向服务器发送Xml,处理服务器返回的Xml)(IE下有效)
2009/01/30 Javascript
jquery UI 1.72 之datepicker
2009/12/29 Javascript
javascript 保存文件到本地实现方法
2012/11/29 Javascript
jQuery实现表头固定效果的实例代码
2013/05/24 Javascript
jquery可见性过滤选择器使用示例
2013/06/24 Javascript
深入理解jQuery中live与bind方法的区别
2013/12/18 Javascript
JavaScript给按钮绑定点击事件(onclick)的方法
2015/04/07 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
2016/10/13 Javascript
利用js定义一个导航条菜单
2017/03/14 Javascript
React中jquery引用的实现方法
2017/09/12 jQuery
解决bootstrap-select 动态加载数据不显示的问题
2018/08/10 Javascript
vue element upload实现图片本地预览
2019/08/20 Javascript
JS数组方法join()用法实例分析
2020/01/18 Javascript
浅谈JavaScript窗体Window.ShowModalDialog使用
2020/07/22 Javascript
JavaScript中while循环的基础使用教程
2020/08/11 Javascript
python写入中英文字符串到文件的方法
2015/05/06 Python
Python正则表达式知识汇总
2017/09/22 Python
python实现本地图片转存并重命名的示例代码
2018/10/27 Python
关于Theano和Tensorflow多GPU使用问题
2020/06/19 Python
解决python和pycharm安装gmpy2 出现ERROR的问题
2020/08/28 Python
Turnbull & Asser官网:英国皇室御用的顶级定制衬衫
2019/01/31 全球购物
英格兰足协官方商店:England Store
2019/07/12 全球购物
美赞臣营养马来西亚旗舰店:Enfagrow马来西亚
2019/07/26 全球购物
澳大利亚在线消费电子产品商店:TobyDeals
2020/01/05 全球购物
高校学生干部的自我评价分享
2013/11/04 职场文书
机械制造与自动化应届生求职信
2013/11/16 职场文书
公司财务工作总结的自我评价
2013/11/23 职场文书
《木笛》教学反思
2014/03/01 职场文书
python实现语音常用度量方法的代码详解
2021/05/25 Python
Python pandas之求和运算和非空值个数统计
2021/08/07 Python
Python办公自动化解决world文件批量转换
2021/09/15 Python
MySQL优化之慢日志查询
2022/06/10 MySQL