Django(38)FBV和CBV
1,FBV
FBV(function base views) 就是在视图里使用函数处理请求。
urls.py
urlpatterns = [
# url(r‘^admin/‘, admin.site.urls),
url(r‘^index/‘, views.index),
]
views.py
def index(request):
return HttpResponse("index")
2,CBV
CBV(class base views) 就是在视图里使用类处理请求。
urls.py
urlpatterns = [
# url(r‘^index/‘, views.index),
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‘)
类要继承 View ,类中函数名必须小写。
CBV和FBV的底层实现本质上相同的。


CBV,其实就是在FBV的基础上进行的功能的扩展,根据请求的方式不同,直接定位到不同的函数中去执行。
浙公网安备 33010602011771号