django知识点(一)

1、ORM基本原理

定义:ORM 全称是 Object Relational Mapping
中文含义为对象关系映射。
作用:把对象与数据库中的表关联起来,对象的属性映射到表的各个字段,同时,它把对表的操作对应到对对象的操作,实现了对象到SQL,SQL 到对象的过程转换。model<====>数据库表
在这里插入图片描述

2、MTV设计模式和MVC设计模式

MTV中视图用于接收用户的请求和转发响应
是Model和Template的桥梁。

M 代表模型(Model):数据存取层,负责业务对象和数据库的关系映射(ORM),处理所有与数据相关的事务,提供在数据库中管理【添加、修改、删除】和查询记录机制。
T 代表模板 (Template):表现层,负责如何把页面展示给用户(html)。
V 代表视图(View):业务逻辑层,负责业务逻辑,并在适当时候调用Model和Template组合在一起,通常被认为联通M与T的桥梁。
MTV设计模式:
在这里插入图片描述

MVC设计模式:
在这里插入图片描述

3、类视图实现的基本原理

使用类的抽象,将共性抽离出来,使用继承去实现特定逻辑,从而实现代码复用。

4、Form表单对象的作用

1.实现对所有字段的验证
每一个Form对象实例都有is_valid方法,根据字段的定义验证实例的各个字段是否合法。合法返回True,并将数据存储到字典类型的Cleaned_data属性中。
2.根据字段定义生成HTML
表单实例自动生成html表单元素,默认输出HTML表格,但不提供

起始和结束标记,也可以显示某个字段的html元素。
form.as_p、form.as_table、form.as_ul

5、页面跳转和重定向的区别

常用于重定向操作
reverse(viewname,#视图名或path的name属性
args=None,#元祖或列表型位置参数
kwargs=None,#字典类型参数,与args二选一
current_app=None)#指示视图所表示的应用
状态码301永久重定向,如域名跳转
302临时重定向。登录成功后跳转到首页
特征:重定向浏览器url会发生改变
redirect(to ,#url地址
*args,#列表类型参数,同reverse用法
permanent=fasle,#false=302,true=301
**kwargs )#字典类型参数,同reverse用法
在这里插入图片描述

6、CSRF

CSRF(Cross Site Request Forgery)也就是跨站请求伪造,实现的原理是CSRF攻击者在用户已经登录目标网站之后,诱使用户访问一个攻击页面,利用目标网站对用户的信任,以用户身份在攻击页面对目标网站发起伪造用户操作的请求,达到攻击目的。
应对方法,增加Token

7、CBV和FBV对比

FBV(Function Based Views)基于函数的视图
优点:简单,便于理解
缺点:代码无法复用

CBV(Class Based Views)基于类的视图
优点:面向对象方式,代码可复用(实现了主要逻辑),减少代码
缺点:难于理解

猜你喜欢

转载自blog.csdn.net/weixin_45044349/article/details/118094100