-
基本使用
与基于函数的视图相比具有一定的差异和优势: 提高了代码的复用性,可以使用面向对象的技术,比如Mixin(多继承) 可以用不同的函数针对不同的HTTP方法处理,而不是通过很多if判断,提高代码可读性 内建的基于类的视图的层次结构: 基本视图:view 、TemplateView、RedirectView 通用显示视图:DetailView、ListView 通用编辑视图:FormView、CreateView、 UpdateView、DeleteView 通用日期视图: ArchiveIndexView、YearArchiveView、 MonthArchiveView、 WeekArchiveView DayArchiveView、TodayArchiveView、DateDetailView 基于类的视图mixins 简单的mixins:ContextMixin、TemplateResponseMixin 单个对象mixins:SingleObjectMixin、SingleObjectTemplateResponseMixin 多个对象混合:MultipleObjectMixin、MultipleObjectTemplateResponseMixin
类视图的基本使用 所有类视图都继承自Django提供的父类View,可以使用from django.views import View或from django.views.generic import View来导入父类View。 #views.py from django.urls import reverse from django.views import View from django.http import HttpResponse from django.shortcuts import render, redirect class Register(View): # 处理GET请求 def get(self,request, *args, **kwargs): return render(request,"App/register.html") # 处理POST请求 def post(self, request, *args, **kwargs): # 注册业务处理 ... return redirect(reverse("App:login"))
路由注册 urlpatterns = [ # 函数注册 path("register/",views.register,name='register') # 类视图注册 path(r'register/',views.RegisterView.as_view(),name='register') ]
Django——CBV
猜你喜欢
转载自blog.csdn.net/piduocheng0577/article/details/105036144
今日推荐
周排行