django类视图的实现

目录

一、resetful设计思路

二、视图类的优点

三、使用视图类的步骤

1.导入视图类的基类

2.继承重写需要的http方法   get  post  delete  head  put.....

3.在urls.py当中指出as_view


一、resetful设计思路

resetful接口开发的思路,前后端分离,这样网站可以接收非浏览器用户的访问,对于大规模批量的操作,有很好的效果

resetful要求不可以带动词

比如说:

addStudent   delStudent  都不可以

优化网站的思路:

前后分离前后端分离
动静分离数据库优化
读写分离 

 

二、视图类的优点

(1)视图类方便继承重写

(2)视图类更加直观

(3)视图类更加符合resetful设计思路

三、使用视图类的步骤

1.导入视图类的基类

from django.views import View

2.继承重写需要的http方法   get  post  delete  head  put.....

重写的是View类

打来View的源码,发现http的方法有很多种

在Student app下的views.py下写视图类:

from django.views import View
class StudentView(View):
    def __init__(self,**kwargs):
        super(StudentView).__init__(**kwargs)
        self.student=Student.objects.all()
    def get(self,request):
        """
        处理get请求
        :param request:
        :return:
        """
        return JsonResponse({"data":"this is get method"})
    def post(self,request):
        """
        处理post请求
        :param request:
        :return:
        """
        return JsonResponse({"data":"this is post method"})
    def put(self,request):
        """
        处理get请求
        :param request:
        :return:
        """
        return JsonResponse({"data":"this is put method"})
    def delete(self,request):
        """
        delete
        :param request:
        :return:
        """
        return JsonResponse({"data":"this is delete method"})

class TeacherView(StudentView):
    pass

3.在urls.py当中指出as_view

from Student.views import StudentView
urlpatterns=[
    path('stu/',StudentView.as_view),
    
]

启动服务器

请求界面,所以会返回get方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值