django类视图

160 阅读1分钟

引入类视图

以函数的形式进行定义的视图就是函数视图,视图函数便于理解,但是遇到一个视图函数对应的路径提供了多种不同的HTTP请求方式的支持时(get,post,delete,put),需要在一个函数中写不同的业务逻辑,代码的可读性和复用性就很底, 所以,我们引入类视图进行解决.

在Django中也可以使用类来定义一个视图,称为类视图。

使用类视图可以将视图对应的不同请求方式以类中的不同方法来区别定义。如下所示:

from django.views import View

class Students(View):
    def __init__(self,**kwargs):
        stu = Student.objects.all()
        super(Students,self).__init__(**kwargs)
    def get(self,request):
        '''
        处理get请求
        '''
        return JsonResponse({"data":"this is a get"})
    def post(self,request):
        '''
        处理post请求
        '''
        return JsonResponse({"data":"this is a post"})

在Student app 中urls当做指出,as_view

path("stu/", Students.as_view())

在地址栏输入直接访问