zoukankan      html  css  js  c++  java
  • Django之FBV和CBV模式

    FBV就是 url路由>>>业务处理函数的方式,CBV就是url路由>>>类 的处理业务方式。

    最常用的就是FBV模式,就不用过多赘述,直接上CBV的实用代码。 

    1、CBV的url路由该怎么写?

     1 from django.contrib import admin
     2 from django.urls import path
     3 from django.conf.urls import url
     4 from app01 import views
     5 
     6 urlpatterns = [
     7     path('admin/', admin.site.urls),
     8     url(r"cbv",views.cbv.as_view()),
     9     url(r"fbv",views.fbv),
    10 ]

    2、CBV的view视图中的业务处理类该怎么写?

     1 from django.shortcuts import render,redirect,HttpResponse
     2 from django.views import View
     3 # Create your views here.
     4 def fbv(request):
     5     if request.method=="POST":
     6         return HttpResponse("fbv.post")
     7     return render(request, "FBV.html")
     8 
     9 
    10 class cbv(View): 
    11     def dispatch(self, request, *args, **kwargs):
    12         if request.method=="GET":
    13             print("get方式经过dispatch...")
    14         else:
    15             print("post方式经过dispatch...")
    16         result=super(cbv, self).dispatch(request, *args, **kwargs)
    17         return result
    18 
    19     def get(self,request):
    20         return render(request, "CBV.html")
    21 
    22     def post(self,request):
    23         return HttpResponse("cbv.post")

    具体格式参考上述代码,在CBV的view视图类中,每次执行GET或者POST函数时都先经过dispatch方法,因此可以在dispatch方法中定制一些GET和POST方法执行前公共的业务逻辑代码,从而简化代码。也可以在dispatch方法中定制自己想要的功能。

  • 相关阅读:
    linux 命令
    linux 命令
    linux 命令
    linux命令
    ubuntu 下安装ssh服务,并修改ssh端口
    爬虫基础
    Django之中间件
    Django之用户认证组件
    Django之cookie&session
    Django之forms组件
  • 原文地址:https://www.cnblogs.com/sun-10387834/p/12459952.html
Copyright © 2011-2022 走看看