web开发之Django(五)(数据库的存取,页面跳转)
一、关于ORM模型
ORM的作用是在关系型数据库和业务实体对象之间进行映射,就不用再去和复杂的SQL语句打交道,只需要简单的操作对象属性和方法就可以了,
ORM的表现方式就是编写数据模型类,这些类可以写到任何文件中,通常卸载每个应用的model.py文件中,每个数据模型类都是django.db.models.Model的子类
组成方式:应用名称(小写)+数据模型类(小写)
举个栗子:blog_blogarticles
二、简单的数据模型类基本结构
数据模型类(model)中可以命名舒心(变量)和方法。
每个属性(变量)对应着数据库中额度一个字段,所以变量也会被称为字段,Django会为每个数据模型设置一个自增长的id字段并作为该表的主键,需要在数据模型类中写出来,
1、Charfield 用于保存字符串,不过在使用的时候需要指明长度
2、TextField:和CharField一样,区别在于无上限,通常用于保存大文本
3、DateField和DateTimeField 用于保存时间
三、数据迁移
1、在虚拟环境下执行数据迁移命令
命令:python manage.py makemigrations
对应的应用里面的migrations文件夹产生了一个0001_initial.py文件
在对应的应用里面的2、执sqlmigrate命令 查看生成文件本质
命令:python manage.py sqlmigrate +应用名 文件名前缀
例如:python manage.py sqlmigrate myblog 0001
3、执行migrate命令真正生成数据库的表问文件
命令:python manage.py migrate
会呈现如下效果
我们可以用navicat mysql工具中的blog数据库,能够看到生成的数据表,如图所示:
说明数据库中的表已建成
四、编写页面,向数据库上传数据和提取数据
1、下载好BootStrap的样式,这里笔者一传,将bootstrap放入static文件夹中
编写好简单的简易的表单,并添加bootstrap样式
样式如何选择,可以直接上完搜bootstrap的教程
形成表单如图:
2、这里特别要注意,form表单中要添加一个中间键,这个中间键就像一个通行令牌一样,如果没有的话,上传数据会报错
这个就是我们设置settings.py文件时的中间件
3、设置form表单上传路径action,url的反向解析
4、应用的urls.py编写对应的路径
5、在应用的views.py文件中添加对应的函数
6、添加成功之后,我们可以让我们的添加内容先是出来,也就是跳转页面
7、再次在urls.py设置跳转页面的路径
8、在views.py文件中设置显示页面的函数和表单内容
9、比那些显示页面,并将数据库内容遍历出来
10、最终填写内容提交表单,会发生页面跳转
点击添加按钮,跳转页面