Python学习---django之Model语法180124

时间:2022-11-23 17:52:42

django之Model语法[Models]

1    django默认支持sqlite,mysql, oracle,postgresql数据库。

<1> sqlite

django默认使用sqlite的数据库,默认自带sqlite的数据库驱动 , 引擎名称:django.db.backends.sqlite3

<2> mysql

引擎名称:django.db.backends.mysql

2    mysql驱动程序

MySQLdb(mysql python)

mysqlclient

MySQL

PyMySQL(纯python的mysql驱动程序)

更改默认数据库为Mysql

setttings.py

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'books', # 你的数据库名称
'USER': 'root', # 你的数据库用户名
'PASSWORD': '', # 你的数据库密码
'HOST': '', # 你的数据库主机,留空默认为localhost
'PORT': '3306', # 你的数据库端口
}
}

注意:

NAME即数据库的名字,在mysql连接前该数据库必须已经创建,而上面的sqlite数据库下的db.sqlite3则是项目自动创建

USER和PASSWORD分别是数据库的用户名和密码。

设置完后,再启动我们的Django项目前,我们需要激活我们的mysql。

然后,启动项目,会报错:no module named MySQLdb

这是因为django默认你导入的驱动是MySQLdb,可是MySQLdb对于py3有很大问题,所以我们需要的驱动是PyMySQL,即我们只需要找到项目名文件下的__init__,在里面写入:

import pymysql

pymysql.install_as_MySQLdb()

问题解决!

Python学习---django之Model语法180124