Django中的FBV和CBV区别

本文介绍了Django框架中两种重要的视图处理方式:基于函数的视图(FBV)和基于类的视图(CBV)。详细解释了它们在URL配置中的区别,以及如何在视图中实现不同的请求响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FBV就是在url中一个路径对应一个函数

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^index/', views.index)
]

 在视图函数中

def index(request):
    return render(request, 'index.html')

CBV就是在url中一个路径对应一个类

urlpatterns = [
    url(r'^admin/', admin.site.urls),
   # 执行类后面的as_view()方法,是父类里面的方法
    url(r'^index/', views.IndexView.as_view())     
   
]

在视图函数中

from django.views import View

class IndexView(View):
   # 以get形式访问会执行get函数,一般情况下获取数据
   def get(self, *args, **kwargs):
      return HttpResponse('666')

   # 以post形式访问的话会执行post函数,一般情况下发送数据
   def post(self, *args, **kwargs):
      return HttpResponse('999')

 在写代码中的几点注意事项

  • cbv定义类的时候必须要继承view
  • 在写url的时候必须要加as_view
  • 类里面使用form表单提交的话只有get和post方法
  • 类里面使用ajax发送数据的话支持定义以下很多方法
    restful规范:
    'get'获取数据, 'post'创建新数据, 'put'更新, 'patch'局部更新, 'delete'删除, 'head', 'options', 'trace'

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值