vs2017 + Python3.6 +Django1.11 连接mysql数据库
不废话直接来。
vs2017创建一个新的python web项目之后默认链接数据库是sqlite。但是我就想连接到Mysql 上面玩,于是开始倒腾了。下面是步骤
1.修改settings.py 文件需要修改两处
第一处:
INSTALLED_APPS = ['app',
# Add your apps here to enable them
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'PythonDjangoPro',] #这一行必须是你创建的web项目名称
第二处:
DATABASES = {
#'default': {
#'ENGINE': 'django.db.backends.sqlite3',
#'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
#}
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': '127.0.0.1',
'PORT': '',
'NAME': 'root',
'USER': 'root',
'PASSWORD': 'root',
}
}
现在就要处理一个很关键的问题,因为需要添加pymysql到项目python包中


然后咱们需要配置项目加载识别链接数据库方式。在项目路径下找到 __init__.py
#coding:utf-8
import pymysql
pymysql.install_as_MySQLdb()
好了咱们现在要去 app/models.py 创建需要创建到数据库中的实体,在models.py中代码如下
#coding:utf-8
from django.db import models
class User(models.Model):
nickname = models.CharField('昵称', max_length=150)
openid = models.CharField('ID', max_length=128, primary_key=True)
head = models.URLField('头像')
gender = models.CharField('性别', max_length=2, default='保密')
现在配置修改到现在就很想跃跃欲试一下了。但是别急肯定报错,我不想写出来错误,我继续实现正确配置方式。因为现在mysqlclient 肯定出现连接bug,因为版本问题,其实就是有一个版本型号判断在搞鬼
现在打开你python安装目录,依此打开 :X:\Program Files (x86)\python\Lib\site-packages\django\db\backends\mysql 找到base.py 用你饥渴难耐的vs2017编辑器注释掉这段该死的代码:
if version < (1, 3, 3):
raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)
对,是直接注释掉
好了,我们开始一本正经实现一次通过manage.py 实体类创建表到mysql数据库
现在你需要这样

然后在打开的项目目录下面按住shit键,打开右键菜单

现在你需要依此输入一下代码:
python manage.py makemigrations python manage.py migrate
然后你会看到很多OK

打开Mysql数据库可视化界面看看数据库是不是有东西(表)

好啦,剩下的就自由发挥吧
卧薪尝胆饮咖啡~~
vs2017 + Python3.6 +Django1.11 连接mysql数据库的更多相关文章
- python3.6+linux服务器+django1.11连接MYSQL数据库
1.django创建一个项目,在项目的settings.py中配置Mysql DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysq ...
- Python3.x使用PyMysql连接MySQL数据库
Python3.x使用PyMysql连接MySQL数据库 由于Python3.x不向前兼容,导致Python2.x中的很多库在Python3.x中无法使用,例如Mysqldb,我前几天写了一篇博客Py ...
- PyCharm中 Django1.11配置Mysql数据库
1.Django 中配置MySQL数据库 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '数据库名称 ...
- VS2017项目中使用代码连接MySQL数据库,以及进行数据添加
//头文件 #include "mysql.h" //函数定义 // 执行sql语句, 包括增加.删除.更新数据 bool ExecuteSql(MYSQL m_mysql,con ...
- python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作
1.通过 pip 安装 pymysql 进入 cmd 输入 pip install pymysql 回车等待安装完成: 安装完成后出现如图相关信息,表示安装成功. 2.测试连接 import ...
- 【Python + Mysql】之用pymysql库连接Mysql数据库并进行增删改查操作
用pip下载pymysql并引用 具体请参考文章: <Python之MySQL数据库增删改查操作> <python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删 ...
- python3.6 连接mysql数据库
==================pymysql=================== 由于 MySQLdb 模块还不支持 Python3.x,所以 Python3.x 如果想连接MySQL需要安装 ...
- Python3.x:使用PyMysql连接Mysql数据库
Python3.x:使用PyMysql连接Mysql数据库 Python3.x完全不向前兼容,导致Python2.x中可以正常使用的库,到了Python3就用不了: 比如说mysqldb,目前MySQ ...
- python3.4怎么连接mysql pymysql连接mysql数据库
本文介绍了python3 4连接mysql数据库的方法,在python3 4中使用原来python2 7的mysqldb已不能连接mysql数据库了,可以使用pymysql. 在python3.4 ...
随机推荐
- JSP知识汇总
JSP知识汇总 一.简介 > HTML - HTML擅长显示一个静态的网页,但是不能调用Java程序. > Servlet - Servlet擅长调用Java程序和后台进行交互,但是它不擅 ...
- Swift 里集合类型协议的关系
  Sequence A type that provides sequential, iterated access to its elements. 是最基础的协议,可以通过迭代来获取它的元素 ...
- 调用百度地图开发平台的JavascriptAPI实现将市县位置转换成坐标
最近的项目要做的地图比较多,有的还比较复杂,而地图用到的坐标,上网找json文件更是良莠不齐的.真是让人伤脑筋,后来突然想到了百度地图开发平台,没想到真的有对应的API哦,谢天谢地!!!下面说一下完整 ...
- openerp QWeb
1.web 模块 注意,OpenERP 模块中 web 部分用到的所有文件必须被放置在模块内的 static 文件夹里.这是强制性的,出于安全考虑. 事实上,我们创建的文件夹 CSS,JS 和 XML ...
- 【优化】JSON.stringify()使用优化
JSON.stringify 有性能的问题,移动端尤其明显.下面我们来看看如何优化. 原始写法: function store(key, val) { localStorage.setItem(key ...
- mybatis异常:Error instantiating class com.psc.bean.User with invalid types () or values ().
Error instantiating class com.psc.bean.User with invalid types () or values (). 是由于bean类没有无参构建方法,添加一 ...
- Java 集合框架(二)—— ArrayList
二.数组列表 —— ArrayList 1.构造方法 ArrayList 是 Java 中的动态数组,底层实现就是对象数组,只不过数组的容量会根据情况来改变. 它有个带 int 类型参数的构造方法,根 ...
- C/C++中的static
一.静态全局变量 理解static关键字之前首先回顾一下C/C++程序的在内存中的分配情况.从低地址到高地址依次分为:代码区.全局数据区.堆区.栈区.函数之外的全局变量和静态变量(包括全局变量和静态变 ...
- 移动设备的HTML页面中图片实现滚动加载
如今移动互联网风靡全球,移动页面的元素也是丰富多彩,一个移动页面的图片超过10张已经是再正常不过的事情了.但是相对,很多移动用户还停留在2G,3G这样的网络中.那么这样带宽的用户,在浏览这样的页面时, ...
- OOAD之单例模式Singleton的6种写法
1 主要作用是保证在Java应用程序中,一个类Class只有一个实例存在. 一 :第一种 饿汉式(预加载) public class Singleton { private Singleton(){ ...