django之python3.4及以上连接mysql的一些问题记录
首先,祭出大杀器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的一些问题记录的更多相关文章
- Python3中使用PyMySQL连接Mysql
Python3中使用PyMySQL连接Mysql 在Python2中连接Mysql数据库用的是MySQLdb,在Python3中连接Mysql数据库用的是PyMySQL,因为MySQLdb不支持Pyt ...
- Python3.x使用PyMysql连接MySQL数据库
Python3.x使用PyMysql连接MySQL数据库 由于Python3.x不向前兼容,导致Python2.x中的很多库在Python3.x中无法使用,例如Mysqldb,我前几天写了一篇博客Py ...
- python3.6下pycharm连接mysql
由于python3.x里面没有了MysqlDB,所以使用python3.6+django连接不上mysql,会报错 no modul "MysqlDB".于是就有了一个替代品,叫p ...
- vs2017 + Python3.6 +Django1.11 连接mysql数据库
不废话直接来. vs2017创建一个新的python web项目之后默认链接数据库是sqlite.但是我就想连接到Mysql 上面玩,于是开始倒腾了.下面是步骤 1.修改settings.py 文件需 ...
- django1.6.x(python3.3)使用pymysql连接mysql
1.安装 pymysql,地址:https://code.google.com/p/pymysql/ 2.安装django 然后执行 django-admin.py startproject mysi ...
- python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作
1.通过 pip 安装 pymysql 进入 cmd 输入 pip install pymysql 回车等待安装完成: 安装完成后出现如图相关信息,表示安装成功. 2.测试连接 import ...
- python3使用pymysql库连接MySQL的常用操作
#导入pymysql模块import pymysql #连接数据库connect = pymysql.connect( host='localhost', port=3306, user='root' ...
- 黄聪:远程连接mysql数据库注意事项记录(远程连接慢skip-name-resolve)
远程连接慢 慢是一个很大的问题,网上的办法是在my.ini的“[mysqld]”下面加入一行“skip-name-resolve”,就像这样: 然后保存并重启mysql服务即可. 下面是其它网友的补充 ...
- 在Django中连接MySQL数据库(Python3)
我的环境: python3.6, Django2.1.5, MySQL8.0.15, win10, PyCharm, 要求:已经安装了MySQL数据库 ...
随机推荐
- MOSS2010中如何用代码给托管元数据类型的栏目赋值
最近项目中遇到如何用代码给托管元数据类型的栏目赋值问题,经过折腾,现把我的思路和实现方法共享出来,让大家一起来学习学习.相互探讨下. /// <summary> /// 托管元数据 /// ...
- 爬虫技术框架——Heritrix
Heritrix是一个由Java开发的开源Web爬虫系统,用来获取完整的.精确的站点内容的深度复制, 具有强大的可扩展性,运行开发者任意选择或扩展各个组件,实现特定的抓取逻辑. 一.Heritrix介 ...
- Homestead 安装 phpMyAdmin 作为数据库管理客户端 — Laravel 实战 iBrand API 教程
简介 phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库.借由此Web接口可以成为一个简易方式输 ...
- redis笔记(一)
redis安装 ubuntu: apt-get install redis-server redis服务 :redis-server 启动客户端 :redis-cli redis简单知识 ...
- 笨办法学Python(二十八)
习题 28: 布尔表达式练习 上一节你学到的逻辑组合的正式名称是“布尔逻辑表达式(boolean logic expression)”.在编程中,布尔逻辑可以说是无处不在.它们是计算机运算的基础和重要 ...
- ubuntu查看nvidia显卡状态
nvidia-smi 连续查看显卡状态 sudo watch nvidia-smi
- Linux上mariadb数据库(博客初学者使用测试)
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可.MariaDB由MySQL的创始人麦克尔·维德纽斯主导开发,他早前曾以10亿美元的价格,将自己创建的公司M ...
- 在CentOS 6.5上安装NodeJS
CentOS的软件源未包含有最新的nodejs, 需要手动编译安装. 首先安装依赖的库与工具 yum install libtool automake autoconf gcc-c++ openssl ...
- 创建Android环境并且安装cordova
需要eclipse.Andriod SDK.java.Apache ant.Node.js.Genymotion 目录链接: 1.安装adt-eclipse 2.安装JAVA 3.安装Apache a ...
- 17、SpringBoot------整合dubbo
SpringBoot整合Dubbo+Zookeaper 1.安装运行zookeeper (1)下载zookeeper 官网:http://zookeeper.apache.org/ (2)解压缩 (3 ...