前言
恭喜你,非常明智的选择了django作为你项目开发的基础框架(手动滑稽)!
1.1.django项目连接mysql数据库
django项目要操作数据库,首先要和数据库建立连接,才能让程序中的数据和数据库关联起来进行增删改查操作。
django项目默认使用mysqldb模块进行和mysql数据库之间的交互操作,但是mysqldb模块对于python3.4以上的版本支持还不够完善,所以我们要使用替代方案。
通过pymysql模块完成和数据库之间的交互过程
django连接mysql数据库的操作,是通过根模块的配置实现的,在项目根模块的配置文件settings.py中,我们可以查询到如下databases的配置信息:
settings.py配置文件
engine:用于特定的数据库引擎的配置,一般如下几种:
django.db.backends.sqlite3django.db.backends.postgresqldjango.db.backends.mysqldjango.db.backends.oracle
其余的参数分别是:
name:要连接的数据库名称的配置;
user:配置连接数据库的用户账号;
password:配置连接数据库的登录密码;
host:配置数据库所在的主机ip地址;
port:配置连接数据库的端口号;
charset:配置连接数据库交互数据编码格式。
如图:
修改databases配置
如此,django和数据库之间的连接关系就建立了。
1.2.定义创建模型
在django项目中定义模型数据,其实就是定义class类型,通过类型创建的对象来封装管理数据,一定要在这里明确关联和对应关系。
定义创建模型
有了对应关系之后,我们要创建的模型对象的属性必须和数据库中的字段类型对应起来:
对应关系
每个字段定义时,都会有自己的一些特殊的选项指定:
主键和唯一约束等
在大部分项目中,还会涉及到多表关联操作:
多表关联操作
根据创建的个人博客,创建用户类型和文章类型如下:
mysite/myblog/views.py
创建文章类型和作者类型
2.数据库同步操作
创建好我们需要的模型类之后,需要将创建好的类型添加到数据库中并同时建立关联关系,根据模型类自动生成对应数据库引擎的sql语句。在settings.py中,连接数据库信息中配置了数据库引擎,其实就是已经告诉django我们使用的是哪个数据库了,django会根据指定的数据库自动生成sql语句。
python manage.py makemigrations
自动创建指定数据库的sql语句
查看生成的sql语句
通过命令自动生成sql语句之后是存储在文件中的,我们可以通过命令的方式直接查看生成的sql语句:
例:python manage.py sqlmigrate myblog 0001
自动同步到数据库
既然django可以自动生成sql语句,当然可以自动同步到数据库中,并不需要开发人员再去手工创建各种数据表了:
例:python manage.py migrate
同步数据库命令
此时,再查看你的数据库,好好享受django框架带来的便捷吧!