191112Django fbv和cbv

  • cbv:类、base、view
  • fbc:函数、base、view
from django.contrib import admin
from django.urls import path
from app import views

urlpatterns = [
    path('fbv/', views.fbv),
    path('cbv/', views.CBV.as_view()),
]
from django.shortcuts import render,redirect,HttpResponse
from django.views import View

def fbv(request):
    return HttpResponse("FBV")

class CBV(View):
    def dispatch(self, request, *args, **kwargs):
        result = super(CBV,self).dispatch(request, *args, **kwargs)
        return result
    def get(self,request):
        return render(request,'cbv.html')
        # return HttpResponse("CBV.GET")
    def post(self,requset):
        ret = HttpResponse("CBV.POST")
        ret['h1'] = 'v1'  #添加响应头
        ret.set_cookie('c1','v2')  #添加cookie
        return ret

原文地址:https://www.cnblogs.com/L-dongf/p/11909344.html

时间: 2024-11-02 11:18:20

191112Django fbv和cbv的相关文章

django中的FBV和CBV

django中请求处理方式有2种:FBV 和 CBV 一.FBV FBV(function base views) 就是在视图里使用函数处理请求. 看代码: urls.py from django.conf.urls import url, include # from django.contrib import admin from mytest import views urlpatterns = [ # url(r'^admin/', admin.site.urls), url(r'^in

FBV和CBV

什么是FBV和CBV呢~~ FBV 基于函数的视图 CBV 基于类的视图 也就是说我们是用函数编写视图~还是类编写视图~~我们来看下两个的简单实现~~ urlpatterns = [ path('admin/', admin.site.urls), path('test_fbv', test_fbv), path('test_cbv', TestCBV.as_view()) ] def test_fbv(request): return HttpResponse("ok") class

FBV和CBV区别

FBV和CBV区别 FBV 就是在视图里使用函数处理请求 fbv就是在url中一个路径对应一个函数 在视图函数中 CBV 就是在视图里使用类处理请求 优点 提高了代码的复用性,可以使用面向对象的技术,比如说Mixin(多继承) 可以用不同的函数针对不同的HTTP方法处理,而不是通过很多if判断,提高了代码可读性 代码逻辑 url from django.conf.urls import url from myapp.views import MyView urlpatterns = [ url(

一、虚拟环境.二、路由配置主页与404.三、2.x路由分发.四、伪静态.五、request对象.六、FBV与CBV.七、文件上传.

一.虚拟环境 ''' 解决版本共存 1. 用pycharm选择File点击NewProject然后选择virtualenv创建一个纯净环境 2. 打开下载的目录将venv文件夹下的所有文件(纯净的环境)copy到需要指定长期使用的文件夹下 3. 再次创建项目时,将该环境(指定长期使用的文件夹下Scripts文件夹中的python.exe文件)添加到pycharm环境选择(System Interpreter)中 4. 为该环境添加需要处理的版本共存包 ''' 二.路由配置主页与404 ''' 路

1.FBV与CBV

yuan的Blog:https://www.cnblogs.com/yuanchenqi/articles/8715364.html 1.FBV与CBV 1.1 FBV 1.2 CBV 2.CBV源码剖析 2.1 案例 urls from django.contrib import admin from django.urls import path from app01 import views urlpatterns = [ path('admin/', admin.site.urls),

django之路由分组,路由分发,FBV,CBV,ORM框架

django之路由分组,路由分发,FBV,CBV,ORM框架 今日的内容: a. 路由系统 1. 创建app 2. 路由的分组 3. 路由的分发 - 正则表达式匹配 b. django的orm(模型model) 1. 创建模型的步骤 2. orm基本的增删改查 3. 正向查询和反向查询 注意事项: 1. 前台传给后台一个列表时,后端如何接受: request.POST.getlist(字段名) 2. 前台传给后台一个列表时,需要在ajax请求中增加一个参数: traditional: true

FBV与CBV 及CBV源码分析

FBV与CBV 及CBV源码分析 FBV(Function Based View) 基于函数的视图 基于函数的视图,我们一直在用没啥好讲的,就是导入模块调用函数执行业务 CBV(Class Based View) 基于类的视图 路由 from app01 import views url(r'^haha/',views.zx_view.as_view()), 视图 class zx_view(View): def get(self,request): return render(request,

Python菜鸟之路:Django 路由补充FBV和CBV

在Python菜鸟之路:Django 路由.模板.Model(ORM)一节中,已经介绍了几种路由的写法及对应关系,那种写法可以称之为FBV: function base view . 今天补充另外一种路由关系的写法:CBV,即:class base view , 也可以看做为面向资源编程的另外一种叫法,类似tornado中的路由写法. 1. 建立路由关系urls.py from app01 import views urlpatterns = [ url(r'^home/', views.Hom

django的FBV和CBV

title: python djano CBV FBV tags: python, djano, CBV, FBV grammar_cjkRuby: true --- python django的function的定义方法 在处理URL的调用方法的function里面,可能会这样定义 Fuction Based View 在视图中用函数来处理请求 def get(): if method == "GET": XXX def post(): if method == "POST