目录
2.继承重写需要的http方法 get post delete head put.....
一、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方法