CBV-1-面向对象-封装
CBV,基于反射实现根据请求方式不同,执行不同的方法。
1. 开发模式 - 普通开发方式(前后端放在一起写) - 前后端分离 2. 后端开发 为前端提供URL(API/接口的开发) 注:永远返回HttpResponse
什么是接口?
后端写一个简单的接口:
urls.py
views.py
url访问接口:
3. Django FBV、CBV
FBV,function base view
CBV,class base view
url必须继承as.view()
视图必须继承view. 这是固定搭配!!!
运行结果:get请求
运行结果:post请求
用一个工具,模拟发post请求:
注意:setting.py必须先关闭csrf
CBV的优势: FBV需要判断请求方式。本质都是一样的,一个是基于类写的,一个基于函数写的。
代码:
3. Django FBV、CBV FBV,function base view def users(request): user_list = ['alex','oldboy'] return HttpResponse(json.dumps((user_list))) CBV,class base view 路由: url(r'^students/', views.StudentsView.as_view()), 视图: from django.views import View class StudentsView(View): def get(self,request,*args,**kwargs): return HttpResponse('GET') def post(self, request, *args, **kwargs): return HttpResponse('POST') def put(self, request, *args, **kwargs): return HttpResponse('PUT') def delete(self, request, *args, **kwargs): return HttpResponse('DELETE')
4. 列表生成式
5. 面向对象
*谈谈你对面向对象的认识?
1. 封装
- 对同一类方法封装到类中
- 将数据封装到对象中
2.继承(多个类共用的功能,为了避免重复编写):
1.假设在每一个视图中的get方法,执行前后后都要加上一段代码,你会怎么办?
2.两个类都有同一个方法,让它们都继承一个基类。
3.多态
posted on 2018-11-01 21:51 liangliang123456 阅读(123) 评论(0) 编辑 收藏 举报