美文网首页
Django-FBV 和 CBV

Django-FBV 和 CBV

作者: 墨颜丶 | 来源:发表于2018-07-31 15:01 被阅读0次

FBV 和 CBV

django中请求处理方式有2种:

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‘^index/‘, views.index),
]

views.py

from django.shortcuts import render
 
def index(request):
    if request.method=="POST":
        print('method is :' + request.method)
    elif request.method=="GET":
        print('method is :' + request.method)

    return render(request, "index.html")

注意此处定义的是函数def index(request):

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>index</title>
</head>
<body>
    <form action="" method="post">
        <input type="text" name="A" />
        <input type="submit" name="b" value="提交" />
    </form>
</body>
</html>

上面就是FBV的使用。

CBV(class base views)** 就是在视图里使用类处理请求。

将上述代码中的urls.py 修改为如下:

from mytest import views

urlpatterns = [
   # url(r‘^index/‘, views.index),
   url(r‘^index/‘, views.Index.as_view()),
]

注:url(r‘^index/‘, views.Index.as_view()), 是固定用法。

将上述代码中的views.py 修改为如下:

from django.views import View


class Index(View):
   def get(self, request):
       print(‘method is :‘ + request.method)
       return render(request, ‘index.html‘)

   def post(self, request):
       print(‘method is :‘ + request.method)
       return render(request, ‘index.html‘)

注:这里是类不在是函数了; 类要继承 View ,类中函数名必须小写。

相关文章

  • Django-FBV 和 CBV

    FBV 和 CBV django中请求处理方式有2种: FBV(function base views)** 就是...

  • Django中的CBV

    django中请求处理方式有2种:FBV 和 CBV CBV CBV(class base views) 就是在视...

  • Starlette 源码阅读 (七) endpoint

    endpoints.py 关于cbv的源码,分http的cbv和ws的cbv两种 HTTPEndpoint类 We...

  • DRF进阶

    一、Django的FBV和CBV FBV:Function-base views基于函数的视图CBV:Class-...

  • 什么是FBV,什么是CBV

    1.FBV和CBV本质是一样的基于函数的视图叫做FBV,基于类的视图叫做CBV在python中使用CBV的优点: ...

  • Django的视图类

    1.FBV和CBV的区别和定义 FBV Function Base View 基于函数的视图函数来处理请求CBV...

  • cbv和fbv

    fbv就是一个 url对应一个函数 cbv就是一个url对应一个类 cbv cbv定义类的时候必须要继承view ...

  • FBV和CBV

    fbv就是一个 url对应一个函数 cbv就是一个url对应一个类 cbv cbv定义类的时候必须要继承view ...

  • CBV和FBV

    CBV基于类的视图(Class base view)和FBV基于函数的视图(Function base view)

  • Django 的 cbv

    正如我们了解到的,Django 写视图函数有两种写法:cbv 和 fbv。cbv 提倡使用类来写,fbv 使用函数...

网友评论

      本文标题:Django-FBV 和 CBV

      本文链接:https://www.haomeiwen.com/subject/mzkhvftx.html