关于Django配置数据库的过程和配置python3配置mysql中需要注意的事情。
数据库选择
django默认支持sqlite,mysql, oracle,postgresql数据库。
sqlite
django默认使用sqlite的数据库,默认自带sqlite的数据库驱动
引擎名称:django.db.backends.sqlite3
mysql
引擎名称:django.db.backends.mysql
mysql驱动程序
- MySQLdb(mysql python)
- mysqlclient
- MySQL
- PyMySQL(纯python的mysql驱动程序)
数据库的设置
sqlite设置
在django的项目中会默认使用sqlite数据库,在settings里有如下设置:
DATABASES = { |
mysql设置
如果我们想要更改数据库为mysql,需要在settings中修改如下:
DATABASES = { |
配置表
参数 | 描述 |
---|---|
NAME | 指定的数据库名,如果是sqlite的话,就需要填数据库文件的绝对位置 |
USER | 数据库登录的用户名,mysql一般都是root |
PASSWORD | 登录数据库的密码,必须是USER用户所对应的密码 |
HOST | 由于一般的数据库都是C/S结构的,所以得指定数据库服务器的位置,我们一般数据库服务器和客户端都是在一台主机上面,所以一般默认都填127.0.0.1 |
PORT | 数据库服务器端口,mysql默认为3306,注意类型为str. |
HOST和PORT都可以不填,使用默认的配置,但是如果你有更改默认配置的话,就需要填入更改后的
遇到的坑
设置完后,再启动我们的Django项目前,我们需要激活我们的mysql。
然后,启动项目,会报错:
no module named MySQLdb |
这是因为django默认你导入的驱动是MySQLdb
,可是MySQLdb
对于py3有很大问题,所以我们需要的驱动是PyMySQL
.所以,我们只需要找到项目名文件下的init,在里面写入:
import pymysql |
对了,还有个坑要说下,windows安装mysql需要visual c++ redistributable packages for visual studio 2013
组件,否则mysql server是装不上的。
vc++ 2013 redistributable 官方下载地址
需要注意的是:x86和x64组件都需要安装!
如果已经你电脑以前安装过,但还是不能安装,下载完成后,双击运行点击修复。