高级视图_类视图

本文详细介绍了Django中的类视图,包括类视图的优势、如何使用函数视图、View类视图、TemplateView类视图以及如何处理不同HTTP请求方法。重点讲述了类视图如何简化视图函数的编写,提高代码的可读性和复用性。
摘要由CSDN通过智能技术生成

Django类视图

1、在写视图的时候,Django除了使用函数作为视图,也可以使用类作为视图。使用类视图可以使用类的一些特性,比如继承、多态等

2、django视图分为两种:
    ⑴FBV:基于函数的视图
    ⑵CBV:基于类的视图 (Django中自带了几种类视图的定义方式,后面会逐步介绍)
    ⑶前面所学习的所有章节中都是使用函数来编写视图的:通过URL来确定对应的视图函数,使用函数来确定响应内容
    ⑷使用类作为视图,会有很多方便的地方,比如类的继承等,另一方面就是更有利于项目、代码的管理
    
3、一个视图函数(类),简称视图,是一个简单的Python函数(类),它接受Web请求并且返回Web响应
    ⑴响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片
    ⑵无论视图本身包含什么逻辑,都要返回响应

    

 

使用函数视图

1、前面章节中都是使用函数来作为视图的,涉及到的例子也是很多,具体的可以看前面的

2、比如:当我们在开发一个注册模块时,浏览器会通过get请求让注册表单弹出来,然后用户输完注册信息后,通过post请求向服务端提交信息
    ⑴这时候我们后端有两个视图函数,一个处理get请求,一个处理post请求。两个视图函数都是不同的名字
    ⑵但是随着开发的进行。当你想要找到注册模块的这两个视图,太麻烦了。如果这两个视图函数能放在一起,归成一个类,作为注册模块的类。这样日后的维护将会方便很多(django的类视图就能实现这个功能了)
    ⑶当然这个例子中通常是将get请求和post请求放到一个视图函数中,然后需要在视图函数中判断当前的请求方式,不同的请求方式对应不同的处理

例1:函数视图
⑴编辑视图

⑵编辑模板

⑶请求方式为GET

⑷请求方式为POST

⑸其他请求方式

 

 

View类视图

1、django.views.generic.base.View是主要的类视图,所有的类视图都是继承自它。如果我们写自己的类视图也可以继承自他,然后再根据当前请求的method,来实现不同的方法。
    ⑴比如这个视图只能使用get的方式来请求,那么就可以在这个类中定义get(self,request,args

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值