Django请求处理的两种方式:FBV 和 CBV

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

一、FBV

FBV(function base views) 就是在视图里使用函数处理请求。

看代码:

urls.py

from django.conf.urls import url, include
from mytest import views 


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

views.py

from django.shortcuts import render 


def index(req): 
    if req.method == ‘POST‘: 
        print(‘method is :‘ + req.method) 
    elif req.method == ‘GET‘: 
        print(‘method is :‘ + req.method) 
    return render(req, ‘index.html‘)

注意此处定义的是函数【def index(req):】

index.html




    
    index


    

二、CBV

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

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

from mytest import views

urlpatterns = [
    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, req):
        print(‘method is :‘ + req.method)
        return render(req, ‘index.html‘)

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

 

参考文章

https://blog.csdn.net/qq471011042/article/details/79344526

https://blog.csdn.net/qq471011042/article/details/79347062

 

你可能感兴趣的:(#,Django)