首先,祭出大杀器whl

https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient

django1.x与django2.x 在项目的写法上有一些区别,常见的有以下:

1.配置文件中中间件的写法:

由middleware_class 直接改成:middleware  所以,在遇到直接从网上DOWN的项目的时候,一定要注意,这里的区别,否则你永远不知道各种错误是从哪里来的

2.就是url.include的写法

在django2.x中.app_name 是直接写到 app的url中,无需再在主的url中写这个

如:project的urls

url(r'', include(('blog.urls','blog'),namespace='blog')),
app的urls:
from blog import views 

app_name="blog"
urlpatterns = [
url(r'^$', views.IndexView.as_view(), name='index'),
url(r'^blog/article/(?P<article_id>\d+)$', views.ArticleDetailView.as_view(), name='detail'),

3.关于django连接mysql的各种资料中,以下做一个总结:

如果我们django 使用的python 版本为2.x的时候,我们连接mysql使用:pymysql

1.pip install  pymysql

2.project的setting文件头部加上:

# import pymysql
# pymysql.install_as_MySQLdb() 如果我们python 版本使用的是3.4及以上的时候,我们连接mysql使用:mysqlclient
安装mysqlclient的时候,请使用上面的大杀器whl来安装
在这里搜索:https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient符合你操作系统以及当前python版本的mysqlclient,copy到你的project所在的目录,如下面的:

执行:pip install mysqlclient-1.4.2-cp36-cp36m-win_amd64.whl  执行安装,
注意,这时候,我们不需要再去改setting了,无需再添加 import pymysql这个,因为当前的数据库驱动使用的是:mysqlclient了 最后,执行: pip freeze ->requirement.txt 这里写这个东西的原因是:网上看到有很多神奇的歪招,让去改什么 site_package/django/db/backend/db.py里面的判断,不做置评,但是,这个改了之后,如果应用程序是在docker发布的时候,将是非常麻烦的,
总之,像这样改了之后,我是没有成功在docker中成功发布过应用,所以建议不去改动基础类库

django之python3.4及以上连接mysql的一些问题记录的更多相关文章

  1. Python3中使用PyMySQL连接Mysql

    Python3中使用PyMySQL连接Mysql 在Python2中连接Mysql数据库用的是MySQLdb,在Python3中连接Mysql数据库用的是PyMySQL,因为MySQLdb不支持Pyt ...

  2. Python3.x使用PyMysql连接MySQL数据库

    Python3.x使用PyMysql连接MySQL数据库 由于Python3.x不向前兼容,导致Python2.x中的很多库在Python3.x中无法使用,例如Mysqldb,我前几天写了一篇博客Py ...

  3. python3.6下pycharm连接mysql

    由于python3.x里面没有了MysqlDB,所以使用python3.6+django连接不上mysql,会报错 no modul "MysqlDB".于是就有了一个替代品,叫p ...

  4. vs2017 + Python3.6 +Django1.11 连接mysql数据库

    不废话直接来. vs2017创建一个新的python web项目之后默认链接数据库是sqlite.但是我就想连接到Mysql 上面玩,于是开始倒腾了.下面是步骤 1.修改settings.py 文件需 ...

  5. django1.6.x(python3.3)使用pymysql连接mysql

    1.安装 pymysql,地址:https://code.google.com/p/pymysql/ 2.安装django 然后执行 django-admin.py startproject mysi ...

  6. python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作

    1.通过 pip 安装 pymysql 进入 cmd  输入  pip install pymysql   回车等待安装完成: 安装完成后出现如图相关信息,表示安装成功. 2.测试连接 import ...

  7. python3使用pymysql库连接MySQL的常用操作

    #导入pymysql模块import pymysql #连接数据库connect = pymysql.connect( host='localhost', port=3306, user='root' ...

  8. 黄聪:远程连接mysql数据库注意事项记录(远程连接慢skip-name-resolve)

    远程连接慢 慢是一个很大的问题,网上的办法是在my.ini的“[mysqld]”下面加入一行“skip-name-resolve”,就像这样: 然后保存并重启mysql服务即可. 下面是其它网友的补充 ...

  9. 在Django中连接MySQL数据库(Python3)

    我的环境:      python3.6,      Django2.1.5,      MySQL8.0.15,      win10,      PyCharm, 要求:已经安装了MySQL数据库 ...

随机推荐

  1. 3.tomcat

    1.进入网站http://www.apache.org 2.选择 3.关闭防火墙才可以让别人访问自己

  2. 笨办法学Python(三十二)

    习题 32: 循环和列表 现在你应该有能力写更有趣的程序出来了.如果你能一直跟得上,你应该已经看出将“if 语句”和“布尔表达式”结合起来可以让程序作出一些智能化的事情. 然而,我们的程序还需要能很快 ...

  3. 框架: namespace和use的区别以及使用注意项

    我们在使用框架的时候,总会使用到namespace和Use这两个东西,我们先来看它们存在的意义 namespace:是指我们当前类中,所在的位置.使用namespace关键字的话,我们就可以达到效果: ...

  4. 安装国际版firefox(火狐浏览器)并设置语言为中文

    访问https://www.mozilla.org/zh-CN/firefox/new/?scene=2下载.安装: 访问https://addons.mozilla.org/zh-CN/firefo ...

  5. Windows Python 版本切换工具 --- Switch Python Version Tool For Windows

    2018年1月13日 更新: 如果要用到不同版本的Python 请使用 virtualenv, pip install virtualenv  , 我做的这个工具可以拿来维护下环境变量~~ 填好路径自 ...

  6. Ubuntu 18.04 一键安装深度截图工具 Deepin Screenshot

    一直在寻找Linux下的截图软件,终于发现了Deepin ScreenShot,其功能齐全,界面美观,唯一的缺点需要自己配置快捷键(后面会讲). 安装 直接在Ubuntu商店搜索“深度截图”,点击“安 ...

  7. CentOS 5.6怎么安装MongoDB数据库?

    1. 下载Linux版本的 MongoDB 数据库 到官方的下载页面下载mongodb的Linux版本,32位还是64位根据自己的情况自行选择 http://www.mongodb.org/downl ...

  8. 2018.7.26 进程和线程的区别 &&你对 Java平台的理解

    进程和线程的区别 1.定义 进程:具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程:进程的一个实体,是CPU调度和分派的基本单位,它是比进程更 ...

  9. 【洛谷P1090】合并果子

    合并果子 题目链接 贪心:每次先合并最小的两堆果子 用堆实现 #include<iostream> #include<cstdio> using namespace std; ...

  10. SpringBoot学习8:springboot整合freemarker

    1.创建maven项目,添加pom依赖 <!--springboot项目依赖的父项目--> <parent> <groupId>org.springframewor ...