美文网首页
CBV如何使用

CBV如何使用

作者: eeert2 | 来源:发表于2020-03-11 16:12 被阅读0次

    FBV相比,CBV没有视图函数,而是继承视图类View,在url路由系统中,指定绑定视图类的as_view()函数

    # view.py
    
    from django.views import View
    from django.http import HttpResponse
    
    class BookView(View):
    
        def get(self, request, *args, **kwargs):
            retuen HttpResponse('get books')
    
        def post(self, request, *args, **kwargs):
            retuen HttpResponse('post books')
    
    # urls.py
    ......
    path('api/books/', views.BookView.as_view(), name='books'),
    ......
    

    和普通的view视图使用起来一样,在CBV中可以有多个视图函数,而每一个视图函数对应一个请求方法。
    如果发送的是get请求,将执行get方法,post请求将执行post方法

    使用CBV的优点:

      1. 对一个资源的请求放在一起,结构安排更加合理,符合restful风格
      1. 视图函数比较复杂时,我们会将其进行拆分,这样拆分下的辅助函数也会直接暴露在views模块下,容易导入错误。使用CBV后就不会有这样情况。

    相关文章

      网友评论

          本文标题:CBV如何使用

          本文链接:https://www.haomeiwen.com/subject/tbrlfhtx.html