关于django新版本无法使用MySQL数据库的问题

参考这里

稍微记录下Django2.2使用MariaDB和MySQL遇到的坑

现在演示一下整个流程吧

1.创建项目和应用

PS:你也可以使用PyCharm直接创建项目

2.注册应用

先把刚刚创建的应用添加进去

3.配置MySQL或者MariaDB

4.PyMySQL替换默认的MySQLdb

Django使用的MySQLdb对Python3支持力度不够,我们用PyMySQL来代替

这句话其实就是兼容代码,这样你导入mysqldb也相当于导入PyMySQL了

5.创建数据库

Django除了默认的sqlite会帮你创建数据库外(只创建对应的表),其他数据库都不会帮你创建的,所以你需要自己创建

6.django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.

如果你的Django是最新的2.2,PyMySQL也是最新的0.93的话,你会发现Django会报错:

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.

这个是Django对MySQLdb版本的限制,我们使用的是PyMySQL,所以不用管它

7.AttributeError: 'str' object has no attribute 'decode'

再继续运行发现又冒了个错误:AttributeError: 'str' object has no attribute 'decode'

这个就不能乱改了,所以先调试输出下:

发现是对字符串进行了decode解码操作:(一般对字符串进行编码,二进制进行解码)

解决也很简单,改成encode即可

8.再运行

再运行就没错误了

但也没有什么东西

发现了个后台貌似也登录不上

9.生成对应的数据库

先创建一个用户的模型类

生成对应的数据库(项目里可以写个build.sh的脚本批量化执行)

这个有点类似Net的CodeFirst了

10.生成对应的后台管理页面

设置后台语言,默认是英语的

创建超级管理员

在admin中注册对应的模型类

这时候运行就可以管理对应的页面了

登录页面

后台管理主页

这时候就可以创建修改UserInfo类了

我随便创建了几个用户

这种对象直接tostring(str(xxx))会导致显示不人性化,如果想知道显示的字段也很简单:

然后刷新下列表页就ok了(如果手动输入命令则不用重启服务器,通过PyCharm运行的需要重新启动下)

是不是轻轻松松就解决了对数据库表的增删改查?这就是Django的强大之处

逆天点评:Net的MVC最擅长的就是快速生成前端页面和对应的验证,而Python的Django最擅长的就是快速生成后台管理页面。这两个语言都是快速建站的常用编程语言(项目 V1~V2 阶段)

作者:毒逆天
出处:https://www.cnblogs.com/dotnetcrazy
打赏:18i4JpL6g54yAPAefdtgqwRrZ43YJwAV5z
本文版权归作者和博客园共有。欢迎转载,但必须保留此段声明,且在文章页面明显位置给出原文连接!

关于django新版本无法使用MySQL数据库的问题相关推荐

  1. echarts导入mysql数据库_Echarts最新:Django中从mysql数据库中获取数据传到echarts方式_爱安网 LoveAn.com...

    关于"Echarts"的最新内容 聚合阅读 这篇文章主要介绍了基于vue+echarts 数据可视化大屏展示的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随 ...

  2. Django框架连接MySQL数据库

    pymysql安装 pymysql就是作为python3环境下mysqldb的替代物,进入命令行,使用pip安装pymysql pip install pymysql 在主项目的文件中设置连接 在项目 ...

  3. django使用mysql原始语句,Django中使用mysql数据库并使用原生sql语句操作

    Django自身默认使用sqlite3这个轻量级的数据库,但是当我们开发网站时,sqlite3就没有mysql好,sqlite3适合一些手机上开发使用的数据库. 准备的软件 mysql数据库,版本5. ...

  4. python用django连接mysql_三分钟了解Django如何连接Mysql数据库

    处理用户注册请求.Django连接MysqL数据库相关配置.数据库迁移命令: my_Dproject/app01/views.py    在views函数文件中添加register函数,来处理用户注册 ...

  5. Django web框架-----Django连接现有mysql数据库

    第一步:win10下载mysql5.7压缩包配置安装mysql,创建数据库或导入数据库 第二步:win10搭建django2.1.7开发环境,创建项目为mytestsite,创建应用app为quick ...

  6. 【django】配置MySQL数据库【3】

    一.新建MySQL数据库 1.登录数据库 $mysql -u root -p 2.新建mgdb数据库 $create database mgdb default charset=utf8; 3.新建M ...

  7. Django怎么配置mysql数据库_Django如何配置mysql数据库

    Django项目默认使用sqlite 数据库,但是我想用mysql数据库,应该如何配置呢. Django连接mysql数据库的操作,是通过根模块的配置实现的,在项目根模块的配置文件settings.p ...

  8. 如何在python3环境下的Django中使用MySQL数据库

    我们在使用Django过程中,连接MySQL数据库时,对Python不同的版本对应的库也不一样,用惯了Python2的人在使用Python3时经常会遇到下面的错误: Error loading MyS ...

  9. pycharm中django框架连接mysql数据库

    1.首先下载安装pymysql模块. pip install pymysql 如果出现 timeout 超时可以使用其他的资源下载: pip install 模块名 -i https://pypi.d ...

最新文章

  1. 开发Eclipse自定义控件
  2. 极客新闻——08、高效团队善用的3个敏捷方法
  3. c#同步 oracle数据,利用C#实现数据同步功能 | 学步园
  4. munmap_chunk(): invalid pointer
  5. json2.js的初步学习与了解(转)
  6. 查看MySQL句柄_mysql查询语句-handler
  7. XCTF(攻防世界)—新手web题Write Up
  8. jmeter如何通过后置处理器提取(正则提取器、json提取器)做接口关联?
  9. Hadoop 回收站
  10. java 邮件接收端程序_java邮件收发功能实现代码
  11. iOS支付知识及调试技巧:【支付流程 预授权 银行卡验证反洗钱敏感信息的脱敏规范】2、安全设计Checklist(短信验证码、图形验证码、密码管理、身份验证、会话安全、敏感信息、接口安全)
  12. linux的定时器的使用,linux定时器如何使用方法
  13. 移动产品设计书籍推荐
  14. 扑克牌java发牌_Java实现扑克牌洗牌和发牌
  15. 织梦index.php被黑,织梦网站被黑的解决流程
  16. 报Keystore was tampered with, or password was incorret的原因
  17. Client network socket disconnected before secure TLS connection was established
  18. 怎样换通达信服务器文件夹,通达信的指标模版保存在那个文件夹,如何迁移
  19. Android--单元测试
  20. 劳易测激光测距仪ODS9L2.8/LAK-650-M12

热门文章

  1. 如何创造出更优秀的用户体验?
  2. 新兴的多媒体格式——MXF 文件格式分析 和简介
  3. 数据挖掘:如何寻找相关项
  4. 10 张图带你深入理解Docker容器和镜像
  5. 遍历Map key-value的两种方法、遍历Set方法
  6. eclipse启动出现“An Error has Occurred. See the log file”解决方法
  7. [边分治+线段树合并]「CTSC2018」暴力写挂
  8. linux之分区的水深(标准分区方式)
  9. python 机器学习资料
  10. 【MySQL】PREPARE 的应用