Django - Python3 配置 MySQL
在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装
具体安装使用方法,可参考 Python3 - MySQL适配器 PyMySQL
Django 如何链接 MySQL 数据库, 需要在.../项目/settings.py 文件中修改数据库相关配置。
配置代码如下
# Database
# https://docs.djangoproject.com/en/1.11/ref/settings/#databases # DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
# }
# } # MySQL
DATABASES = {
'default':{
'ENGINE':'django.db.backends.mysql',
'HOST':'127.0.0.1',
'PORT':'',
'NAME':'guest', # 数据库名
'USER':'username',
'PASSWORD':'password',
'OPTIONS':{
'init_command':"SET sql_mode='STRICT_TRANS_TABLES'"
},
}
}
# mysql5.0以上版本支持三种sql_mode模式:ANSI、TRADITIONAL和STRICT_TRANS_TABLES。
# ANSI模式:宽松模式,对插入数据进行校验,如果不符合定义类型或长度,对数据类型调整或截断保存,报warning警告。
# TRADITIONAL模式:严格模式,当向mysql数据库插入数据时,进行数据的严格校验,保证错误数据不能插入,报error错误。用于事物时,会进行事物的回滚。
# STRICT_TRANS_TABLES模式:严格模式,进行数据的严格校验,错误数据不能插入,报error错误。
#
配置信息从上到下依次是驱动(ENGINE) , 主机地址(HOST) , 端口号(PORT) , 数据库(NAME),
登录用户名(USER) , 登录密码(PASSWORD) 。
关于, sql_mode 的设置, 请参考 Django 文档。
注意:
Django 在连接 MySQL 数据库时默认使用的是 MySQLdb 驱动, 然而我们没有安装该
驱动, 因为它并不支持 Python3, 我们现在安装的是 PyMySQL 驱动, 如何让当前的 Django 通过 PyMySQL 来连接 MySQL 数据库呢? 方法很简单。
安装后,启动应用,报如图错误,
解决办法:在 anaconda3 ▸ envs ▸ Adil ▸ lib ▸ python3.7 ▸ site-packages ▸ django ▸ db ▸ backends ▸ mysql ▸__init__.py 中添加如下代码
在.../__init__.py 中添加:
import pymysql
pymysql.install_as_MySQLdb()
至此,完成配置工作。
如图不再 报错。
Django - Python3 配置 MySQL的更多相关文章
- Linux下安装Python3的django并配置mysql作为django默认数据库(转载)
我的操作系统为centos6.5 1 首先选择django要使用什么数据库.django1.10默认数据库为sqlite3,本人想使用mysql数据库,但为了测试方便顺便要安装一下sqlite开发包 ...
- Linux下安装Python3和django并配置mysql作为django默认服务器
我的操作系统为centos6.5 1 首先选择django要使用什么数据库.django1.10默认数据库为sqlite3,本人想使用mysql数据库,但为了测试方便顺便要安装一下sqlite开发包 ...
- django框架配置mysql数据库
django配置mysql数据库: 1.首先更改django项目文件中的settings.py的数据库配置 DATABASES = { 'default': { 'ENGINE': 'django.d ...
- django中配置MySql
1.配置字段 在setting文件中配置数据库字段:数据库需要提前手动创建好:语句(create database testdb charset "utf8";) DATABASE ...
- Django 中配置MySQL数据库
在Django的项目中会默认使用sqlite的数据库 配置MySQL需要在setting.py 里加入以下设置: 配置数据库 DATABASES = { 'default': { 'ENGINE': ...
- 如何在Django中配置MySQL数据库
直接上图 在项目中直接找到settings 文件 第一步 原始Django自带数据库 第二步将配置改成MySQL的数据 第三步 在__init__文件中告知Django使用MySQL数据 ...
- PyCharm中 Django1.11配置Mysql数据库
1.Django 中配置MySQL数据库 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '数据库名称 ...
- Django:Python3.6.2+Django2.0配置MySQL
持续学习Django中... Django默认使用的数据库是python自带的SQLlite3,但SQLlite并不适用于大型的项目,因此我将数据库换成了MySQL,下面介绍下Django如何配置数据 ...
- Django:Python3.6.2+Django2.0配置MySQL 转载
Django默认使用的数据库是python自带的SQLlite3,但SQLlite并不适用于大型的项目,因此我将数据库换成了MySQL,下面介绍下Django如何配置数据库... 我使用的版本是:Py ...
随机推荐
- uml类图和er图中主外键的表示区别
在er图也就是数据库中,无论是mysql/oracle都是从表引用主表的pk作为外键. 而在uml类图表示法中,他们的顺序则刚好相反,从主对象导向到子对象,如下: 主体是资金借款方,征信信息和资金借款 ...
- 第一章-硬件组成及linux发展历史(1)
一.服务器与计算机的组成? 计算机组成主要有:CPU.硬盘.内存.电源.显示器.鼠标.键盘 服务器组成主要有:CPU.硬盘.内存.电源.RAID卡.远程控制卡 CPU: 即:中央处理器,是一块超大规模 ...
- squid代理服务器安装和配置
服务器版本:centos6.5 squid版本:3.1 Squid介绍 Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据.当一个用户想要下载一个主页时,可 ...
- [c/c++] programming之路(10)、格式符后续
一.格式符 1. f格式符 #include<stdio.h> #include<stdlib.h> void main(){ printf("%f",10 ...
- opencv学习之路(11)、图像几何变换
一.图像缩放 #include<opencv2/opencv.hpp> using namespace cv; void main(){ Mat src=imread("E:// ...
- 20145212 罗天晨 MSF基础应用
一.对exploit,payload,encode的理解 exploit是利用系统漏洞,相当于一个动态的过程. payload是攻击载荷,用于实现对漏洞的攻击,是实现漏洞攻击最核心的代码. encod ...
- SPOJ Meteors - 可持久化线段树 - 二分法
Byteotian Interstellar Union (BIU) has recently discovered a new planet in a nearby galaxy. The plan ...
- 小C的数学问题 【单调栈】
问题 J: 小C的数学问题 时间限制: 1 Sec 内存限制: 128 MB 提交: 565 解决: 141 [提交] [状态] [命题人:外部导入] 题目描述 小C是个云南中医学院的大一新生,在 ...
- Mybatis自增长id处理
目录 1.使用useGenerateKey 2.使用select LAST_INSERT_ID() 3.使用select @@IDENTITY 4.在MySql中模拟Sequence 参考: 1.使用 ...
- SpringCloud与Consul集成实现负载均衡
一.背景 SpringCloud微服务目前比较流行,其中大都在使用的服务注册与发现是Eureka,最近研究了Consul的集群搭建,现使用Consul实现服务的负载均衡.其主要拓扑结构如下: 二.Co ...