Django使用CBV处理请求

Django使用CBV处理请求

在Django中有两种基本的处理用户请求的方式,分别是FBV和CBV,这里讲的是关于使用CBV处理用户请求的方式

CBV中的C表示的是类,使用类去处理用户的请求

1. 首先在app的views中编写一个基本的类
from django.shortcuts import render,HttpResponse,redirect
from django.views import View

class Index(View):
    def get(self, request):
        # 处理get请求的方法
        return render(request, 'index.html')

    def post(self, request):
        # 处理post请求的方法
        return HttpResponse('Hello World')
2. 在urls中定义
from app import views

urlpatterns = [
    url(r'^index/', views.Index.as_view()), # 重点是.as_view()方法
]

这样就写好了基础的CBV了,在Index类中它会分别处理get和post请求,而FBV则需要在方法中使用IF去判断用户的请求是get还是post,我个人喜欢使用CBV的原因是它看起来代码比较清晰。