Django学习记录3-2——Mysql数据库的使用
零之前言
在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数据库的使用相关推荐
- 获取mysql可行方法_Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法...
<Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法>要点: 本文介绍了Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法,希望对您有用.如果有 ...
- java计算机毕业设计中国古诗词学习平台源码+mysql数据库+系统+lw文档+部署
java计算机毕业设计中国古诗词学习平台源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计中国古诗词学习平台源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B ...
- java计算机毕业设计智友少儿编程学习平台源码+mysql数据库+系统+部署+lw文档
java计算机毕业设计智友少儿编程学习平台源码+mysql数据库+系统+部署+lw文档 java计算机毕业设计智友少儿编程学习平台源码+mysql数据库+系统+部署+lw文档 本源码技术栈: 项目架构 ...
- DATABASE_ROUTERS在Django中使用多个MySQL数据库进行配置
在Django中,默认使用的MySQL数据库为default, 如果不进行配置的话,迁移建表就会创建到default数据库 准备: 先创建两个数据库 在创建一个管理员管理这两个库 create use ...
- 记录一次MySQL数据库失败教训
记录一次MySQL数据库失败教训 最近发现了下载了Navicat Premium后数据库的密码总是重置,因此在网上看了很多的改密码的教程,却总是改不成功,后来才发现不是改不成功,而是电脑上我安装的两个 ...
- C#学习笔记----C#连接MySQL数据库
C#学习笔记----C#连接MySQL数据库 using System.Linq; using System.Text; using System.Data;// 引用表的命名空间 using Sys ...
- java计算机毕业设计中国古诗词学习平台源码+mysql数据库+系统+部署+lw文档
java计算机毕业设计中国古诗词学习平台源码+mysql数据库+系统+部署+lw文档 java计算机毕业设计中国古诗词学习平台源码+mysql数据库+系统+部署+lw文档 本源码技术栈: 项目架构:B ...
- java计算机毕业设计计算机实验课程学习系统源码+mysql数据库+系统+lw文档+部署
java计算机毕业设计计算机实验课程学习系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计计算机实验课程学习系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目 ...
- go语言学习第八天==》mysql数据库增删改查、用go语言 客户端(client)发起htttp get请求,post请求,postForm请求,Head请求,Do请求
go语言学习第八天==>mysql数据库增删改查.用go语言写 客户端(client)发起htttp get请求,post请求,postForm请求,Head请求,Do请求 引包 import的 ...
最新文章
- 近期活动盘点:数据科学研究院论坛“人文社科专场、全球最大的免费编程社区公开课、DeeCamp2019:实战AI 铸造定雨神针...
- defaultdict python_python中defaultdict的用法详解
- flutter 类似日期选择器控件_一切皆组件的Flutter,安能辨我是雄雌
- 《TCP/IP详解 卷一》读书笔记-----广播多播IGMP
- Spring Boot Starters 列表
- php member limit,php 安全有关问题
- 配置java ee_Java EE中的配置管理
- leetcode 61. Rotate List
- 搭载骁龙865+量产一亿像素!小米MIX4今年无望了
- 中缀表达式转后缀表达式 java_中缀表达式转后缀表达式并计算结果Java实现
- 130 行代码模仿火爆抖音的“蚂蚁呀嘿”特效,你学会了吗?
- 项目推进计划表_项目为啥延期之一:计划问题
- nginx post请求超时_nginx的重试机制以及nginx常用的超时配置说明
- 【女生节】圆周率小数点后37373737位中,“37”出现的次数是?
- ERP必须基于企业流程管理
- Linux恢复数据软件,Linux数据恢复工具推荐
- SBC音频编解码算法浅析
- 爱也可以量化?用4个公式表征爱情
- C++校招面试题合集
- C++普通函数指针和类成员函数指针
热门文章
- 随机采样和随机模拟:吉布斯采样Gibbs Sampling
- canvas读取跨域图片像素失败 Failed to execute getImageData The canvas has been tainted by cross-origin data
- linux内核 异常 log,Linux Kernel WARN()/BUG(), Oops/Panic, Tainted分析
- java defunct怎么杀掉_僵尸进程的产生和避免,如何kill杀掉linux系统中的僵尸defunct进程...
- windows环境安装好了virtualenvwrapper,pycharm中workon命令用不了
- linux内存大量占用,大量sendmail、postdrop进程 侵删
- 发一个无广告的解析接口
- Java面试题:TCP三次握手如果失败会发生什么?
- JAVA程序中访问别人接口
- html5锚点自动定位,锚点定位总结html5属性大全