restful知识点之一CBV

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^FBVTEST/', views.FBV_Test.as_view()),
]
urls.py
from django.shortcuts import render,HttpResponse,redirect
from django.views import View

# Create your views here.

class FBV_Test(View):
    def  dispatch(self,request, *args, **kwargs):
      ret=super(FBV_Test,self).dispatch(request,*args,**kwargs)
      return ret

    def get(self,request):
        return HttpResponse('get')


    def post(self,request):
        return render(request,'login.html',locals())
views.py
<div class="container">
    <div class="row">
        <div class="col-md-4 col-md-offset-4">
            <form action="" method="post">
                <input type="submit">
            </form>
        </div>
    </div>
</div>
html

 发送数据方式

 执行过程


执行views.LoginView.as_view()---》把requst传入View-----》执行dispatch函数(如果视图中有dispatch方法则覆盖)---》执行get方法--》返回给dispatch方法--》返回给url-->浏览器就可见了
url(r'^login/', views.LoginView.as_view()), #view(request)<=====》dispatch()<=====》self.get()

原文地址:https://www.cnblogs.com/wanghuaqiang/p/9051393.html