02-Django REST framwork 板块(02-CBV、FBV详解)

本文详细介绍了Django中的CBV(基于类的视图)和FBV(基于函数的视图)处理请求的方式。推荐使用CBV,因其能够自动判断请求类型。CBV利用反射机制,在dispatch方法中分发请求到对应的方法。同时,文章讨论了CBV中CSRF的实现,指出其在dispatch上的添加。最后,提到了Django的CSRF中间件实现和两种配置方式。
摘要由CSDN通过智能技术生成

一、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('删除订单')

二、CBV详解<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值