zoukankan      html  css  js  c++  java
  • Python学习————CBV模型

    Django CBV模型源码运行流程

    views.py

    class Test(View):
        def get(self, request, *args, **kwargs):
            return HttpResponse('cbv_get')
    
        def post(self, request, *args, **kwargs):
            return HttpResponse('cbv_post')
    

    img

    urls.py

    urlpatterns = [
        path('test/', views.Test.as_view()),
    ]
    

    img

    as_view()源码:

    img

    在urls.py中views.Test.as_view() 这里存放的是一个内存地址,as_view()加括号被调用到,这里执行了as_view方法里的view方法

    img

    核心是dispatch方法,在dispatch方法中完成了分发功能。

    img

    CBV模型

    • 在views中写一个类,继承View,里面写get方法,post方法
    • 在路由中配置: url(r'^test/', views.Test.as_view()),实际上第二个参数位置,放的还是一个函数内存地址
    • 当请求来了,就会执行第二个参数(request,参数),本质上执行view()
    • view内部调用了dispatch()方法
    • dispatch分发方法,根据请求方式不同,执行的方法不同
  • 相关阅读:
    导航守卫
    asnyc
    扩展运算符 ···
    模版字符串
    iterator迭代器
    箭头函数
    解构
    变量let const
    vueUI可视化
    python图像特征提取
  • 原文地址:https://www.cnblogs.com/x945669/p/13787418.html
Copyright © 2011-2022 走看看