FBV 基于函数的视图 (function base views)restful
CBV 基于类的视图 (class base views)函数
也就是说咱们是用函数编写视图~仍是类编写视图咱们来看下两个的简单实现post
urlpatterns = [
path(‘admin/‘, admin.site.urls),
path(‘test_fbv‘, test_fbv), #FBV
path(‘test_cbv‘, TestCBV.as_view()) #CBV]
def test_fbv(request): ##函数式视图
return HttpResponse("ok")url
class TestCBV(View): ##类式视图
def get(self, request):
return HttpResponse("ok")
CBV会执行as_view()方法,rest
a. 接口开发code
urlpatterns = [ # url(r'^admin/', admin.site.urls), url(r'^get_order/', views.get_order), url(r'^add_order/', views.add_order), url(r'^del_order/', views.del_order), url(r'^update_order/', views.update_order), ] def get_order(request): return HttpResponse('') def add_order(request): return HttpResponse('') def del_order(request): return HttpResponse('') def update_order(request): return HttpResponse('')
b. restful 规范(建议)接口
1. 根据method不一样作不一样的操做,示例: 基于FBV: urlpatterns = [ url(r'^order/', views.order), ] 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: urlpatterns = [ url(r'^order/', views.OrderView.as_view()), ] class OrderView(View): 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('删除订单')