不废话直接来。

  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数据库的更多相关文章

  1. python3.6+linux服务器+django1.11连接MYSQL数据库

    1.django创建一个项目,在项目的settings.py中配置Mysql DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysq ...

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

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

  3. PyCharm中 Django1.11配置Mysql数据库

    1.Django 中配置MySQL数据库 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '数据库名称 ...

  4. VS2017项目中使用代码连接MySQL数据库,以及进行数据添加

    //头文件 #include "mysql.h" //函数定义 // 执行sql语句, 包括增加.删除.更新数据 bool ExecuteSql(MYSQL m_mysql,con ...

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

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

  6. 【Python + Mysql】之用pymysql库连接Mysql数据库并进行增删改查操作

    用pip下载pymysql并引用 具体请参考文章: <Python之MySQL数据库增删改查操作> <python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删 ...

  7. python3.6 连接mysql数据库

    ==================pymysql=================== 由于 MySQLdb 模块还不支持 Python3.x,所以 Python3.x 如果想连接MySQL需要安装 ...

  8. Python3.x:使用PyMysql连接Mysql数据库

    Python3.x:使用PyMysql连接Mysql数据库 Python3.x完全不向前兼容,导致Python2.x中可以正常使用的库,到了Python3就用不了: 比如说mysqldb,目前MySQ ...

  9. python3.4怎么连接mysql pymysql连接mysql数据库

    本文介绍了python3 4连接mysql数据库的方法,在python3 4中使用原来python2 7的mysqldb已不能连接mysql数据库了,可以使用pymysql.   在python3.4 ...

随机推荐

  1. Java 反射机制系列

    http://www.cnblogs.com/KingIceMou/category/1034898.html

  2. Nginx+Tomcat搭建负载均衡

    一.       工具 nginx-1.8.0 apache-tomcat-6.0.33 二.    目标 实现高性能负载均衡的Tomcat集群: 三.    步骤 1.首先下载Nginx,要下载稳定 ...

  3. webpack的安装与使用(单文件)

    在安装 Webpack 前,你本地环境必须已安装nodejs. 可以使用npm安装,当然由于 npm 安装速度慢,也可以使用淘宝的镜像及其命令cnpm(npm install -g cnpm --re ...

  4. 直接插入排序实现(Java)

    直接插入排序介绍 直接插入排序的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的.记录数增1的有序表.     怎么理解呢?就是将n个待排序的元素看成一个有序表和一个无序表,开始时有序 ...

  5. SQL Server数据库——数据库的数据导出与数据导入

    http://jingyan.baidu.com/article/3c48dd34531d5de10be358b8.html

  6. Android学习之一

  7. android权限permission大全(权限提醒)

    1.Android.permission.WRITE_USER_DICTIONARY允许应用程序向用户词典中写入新词 2.android.permission.WRITE_SYNC_SETTINGS写 ...

  8. python中map()函数

    map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. map()是 Python 内 ...

  9. Android4.0以上版本比较靠谱的获取手机屏幕分辨率的方法

    /** * 获取虚拟按键栏高度 * * @param context * @return */ public static int getNavigationBarHeight(Context con ...

  10. xml常用的error-page

    <error-page> <error-code>404</error-code> <location>/WEB-INF/jsp/errors/erro ...