文章目录
一、CBV / FBV处理请求的实现方式
1.一个是基于类写的,一个是基于函数写的,本质上区别不大。
2.推荐CBV方式来写,因为里边直接对请求方式进行了判断
# 基于FBV (function base view)
urlpatterns = [
url(r'^order/', views.order),
]
# 视图 view.py
def order(request):
if request.method == 'GET':
return HttpResponse('获取订单')
elif request.method == 'POST':
return HttpResponse('创建订单')
elif request.method == 'PUT':
return HttpResponse('更新订单')
elif request.method == 'DELETE':
return HttpResponse('删除订单')
# 基于CBV (class base view)
# 根据请求method的不同,进行对应dispatch,做不同操作
urlpatterns = [
url(r'^order/', views.OrderView.as_view()),
]
# 视图 view.py
class OrderView(View): # view内部实现请求分发机制(dispatch)
def get(self,request,*args,**kwargs):
return HttpResponse('获取订单')
def post(self,request,*args,**kwargs):
return HttpResponse('创建订单')
def put(self,request,*args,**kwargs):
return HttpResponse('更新订单')
def delete(self,request,*args,**kwargs):
return HttpResponse('删除订单')