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的原因是它看起来代码比较清晰。