零之前言

在Django2.2版本上使用mysql会出现一个小问题,而在2.1.4版本就不会出现问题。所以这篇教程着重于对于django2.2版本的调教

末尾更新新库mysqlclient

一.安装驱动

安装我们的pymysql

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pymysql

然后在我们的app里的init.py添加以下代码:

import pymysql
pymysql.install_as_MySQLdb()

二.修改Settings

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql',  # 设置使用mysql数据库'NAME': 'hdm72190820_db',  # 指定数据库'USER': 'hdm72190820',  # 用户名'PASSWORD': '',  'PORT': 3306,  # 端口号'HOST': 'hdm72190820.my3w.com' # 数据库所在主机的ip}
}

三.修改Django

如果版本是2.1的没有问题,2.2的就会出现以下问题:

  File "/home/kanna/.local/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 36, in <module>raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)

解决办法是:跟着它提示的目录(蓝色字体)在python的site-packages/django/db/backends/mysql里找到以下两个文件:base.py 和 operations.py

1.修改base.py

用你喜欢的编辑器打开它,注释掉35 36行,也就是:

#if version < (1, 3, 13):
#    raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)

2.修改operations.py

把146行decode改为encode

如果找不到直接搜索也行,改好后的代码如下:

query = query.encode(errors='replace')

以上两步注意保存!

四.完成

我们再来migrate试试

成功!!!!

五.新方法mysqlclient

前者在linux或windows上都可以。这个方法在win或ubuntu测试ok

在ubuntu上要先安装:

sudo apt-get install libmysqlclient-dev

然后安装:

pip install mysqlclient

win上直接后者即可。

Django学习记录3-2——Mysql数据库的使用相关推荐

  1. 获取mysql可行方法_Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法...

    <Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法>要点: 本文介绍了Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法,希望对您有用.如果有 ...

  2. java计算机毕业设计中国古诗词学习平台源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计中国古诗词学习平台源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计中国古诗词学习平台源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B ...

  3. java计算机毕业设计智友少儿编程学习平台源码+mysql数据库+系统+部署+lw文档

    java计算机毕业设计智友少儿编程学习平台源码+mysql数据库+系统+部署+lw文档 java计算机毕业设计智友少儿编程学习平台源码+mysql数据库+系统+部署+lw文档 本源码技术栈: 项目架构 ...

  4. DATABASE_ROUTERS在Django中使用多个MySQL数据库进行配置

    在Django中,默认使用的MySQL数据库为default, 如果不进行配置的话,迁移建表就会创建到default数据库 准备: 先创建两个数据库 在创建一个管理员管理这两个库 create use ...

  5. 记录一次MySQL数据库失败教训

    记录一次MySQL数据库失败教训 最近发现了下载了Navicat Premium后数据库的密码总是重置,因此在网上看了很多的改密码的教程,却总是改不成功,后来才发现不是改不成功,而是电脑上我安装的两个 ...

  6. C#学习笔记----C#连接MySQL数据库

    C#学习笔记----C#连接MySQL数据库 using System.Linq; using System.Text; using System.Data;// 引用表的命名空间 using Sys ...

  7. java计算机毕业设计中国古诗词学习平台源码+mysql数据库+系统+部署+lw文档

    java计算机毕业设计中国古诗词学习平台源码+mysql数据库+系统+部署+lw文档 java计算机毕业设计中国古诗词学习平台源码+mysql数据库+系统+部署+lw文档 本源码技术栈: 项目架构:B ...

  8. java计算机毕业设计计算机实验课程学习系统源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计计算机实验课程学习系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计计算机实验课程学习系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目 ...

  9. go语言学习第八天==》mysql数据库增删改查、用go语言 客户端(client)发起htttp get请求,post请求,postForm请求,Head请求,Do请求

    go语言学习第八天==>mysql数据库增删改查.用go语言写 客户端(client)发起htttp get请求,post请求,postForm请求,Head请求,Do请求 引包 import的 ...

最新文章

  1. 近期活动盘点:数据科学研究院论坛“人文社科专场、全球最大的免费编程社区公开课、DeeCamp2019:实战AI 铸造定雨神针...
  2. defaultdict python_python中defaultdict的用法详解
  3. flutter 类似日期选择器控件_一切皆组件的Flutter,安能辨我是雄雌
  4. 《TCP/IP详解 卷一》读书笔记-----广播多播IGMP
  5. Spring Boot Starters 列表
  6. php member limit,php 安全有关问题
  7. 配置java ee_Java EE中的配置管理
  8. leetcode 61. Rotate List
  9. 搭载骁龙865+量产一亿像素!小米MIX4今年无望了
  10. 中缀表达式转后缀表达式 java_中缀表达式转后缀表达式并计算结果Java实现
  11. 130 行代码模仿火爆抖音的“蚂蚁呀嘿”特效,你学会了吗?
  12. 项目推进计划表_项目为啥延期之一:计划问题
  13. nginx post请求超时_nginx的重试机制以及nginx常用的超时配置说明
  14. 【女生节】圆周率小数点后37373737位中,“37”出现的次数是?
  15. ERP必须基于企业流程管理
  16. Linux恢复数据软件,Linux数据恢复工具推荐
  17. SBC音频编解码算法浅析
  18. 爱也可以量化?用4个公式表征爱情
  19. C++校招面试题合集
  20. C++普通函数指针和类成员函数指针

热门文章

  1. 随机采样和随机模拟:吉布斯采样Gibbs Sampling
  2. canvas读取跨域图片像素失败 Failed to execute getImageData The canvas has been tainted by cross-origin data
  3. linux内核 异常 log,Linux Kernel WARN()/BUG(), Oops/Panic, Tainted分析
  4. java defunct怎么杀掉_僵尸进程的产生和避免,如何kill杀掉linux系统中的僵尸defunct进程...
  5. windows环境安装好了virtualenvwrapper,pycharm中workon命令用不了
  6. linux内存大量占用,大量sendmail、postdrop进程 侵删
  7. 发一个无广告的解析接口
  8. Java面试题:TCP三次握手如果失败会发生什么?
  9. JAVA程序中访问别人接口
  10. html5锚点自动定位,锚点定位总结html5属性大全