django FBV&CBV

本文深入探讨了Django框架中处理HTTP请求的两种主要方式:基于函数的视图(FBV)和基于类的视图(CBV),并提供了具体的代码示例,帮助读者理解两者之间的区别和应用场景。

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

fbv与cbv是django处理请求方式的两种

FBV

fbv是指django在处理请求时使用视图函数的形式。

 from django.contrib import admin
    from django.urls import path,re_path
    from cmdb import views
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('add/',views.add),
        path('look/',views.look),
        re_path('update-(\d+)/',views.update),
        re_path('delete-(\d+)/',views.delete),
    ]

对应视图函数

from django.shortcuts import render,HttpResponse,redirect
from cmdb import models

def add(request):
    # models.Group.objects.create(caption='python')
    # models.Group.objects.create(caption='java')
    if request.method=='POST':
        uname=request.POST.get('name')
        upwd=request.POST.get('password')
        ugroup_id=request.POST.get('group_id')
        models.UserInfo.objects.create(name=uname,password=upwd,user_group_id=ugroup_id)
    return redirect('/look/')

CBV

cbv试吃django在处理请求时使用类来处理。具体代码就是下面
from django.contrib import admin
from django.urls import path,re_path
from cmdb import views

    urlpatterns = [
        path('admin/', admin.site.urls),
        path('add/',views.XXX.as_view()),
        #****这里必须这种格式写,其中XXX对应的处理请求的类****
    ]

from django.http import HttpResponse
from django.views import View
#引用View类
  
class MyView(View):
''' 类中可以定义各种方法,定义了get方法和post方法,如果请求
方法为get时,django会自动调用get方法处理请求,post同理'''
      def get(self, request):
            return HttpResponse('getOK')
      def post(self, request):
            return HttpResponse('postOK')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值