类视图
类视图
代码越少越好
永远不要重复代码
View应当只包含呈现逻辑, 不应包括业务逻辑
保持view逻辑清晰简单
不要将CBVs用作403, 404, 500的错误处理程序
保持mixin简单明了
Django自身提供的View永远在最右边
mixin依次在以上view的左边
mixin永远继承自Python的object类型
View 基本View 可以在任何时候使用 见后面详细介绍 RedirectView 重新定向到其他URL 将访问"/log-in/"的用户重新定向到"/login/"TemplateView 显示Django 模板 一般网站中使用模板显示的页 ListView 显示对象列表 文章列表页 DetailView 显示对象详情 文章详细页 FormView 提交From 网站联系我们或emai订阅form CreateView 创建对象 创建新文章页 UpdateView 更新对象 修改文章页 DeleteView 删除对象 删除文章页 Generic date views 显示一段时间内的对象 按时间归类的博客
View
django.shortcuts django.views.generic state =http_method_names = [, , , , , , , dispatch(self, request, *args, **(= super(Index,self).dispatch(request, *args, **( HttpResponse( HttpResponse()
TemplateView
django.views.generic.base.TemplateResponseMixin
django.views.generic.base.ContextMixin
django.views.generic.base.View
django.views.generic.base = dispatch(self, request, *args, **(= super(HomePageView,self).dispatch(request, *args, **( get_context_data(self, **= super(HomePageView, self).get_context_data(**] = [,,( context
RedirectView
django.views.generic.base.View
django.views.generic.base == False query_string = True pattern_name = dispatch(self, request, *args, **(= super(ArticleRedirectView,self).dispatch(request, *args, **( get_redirect_url(self, *args, **( super(ArticleRedirectView, self).get_redirect_url(*args, **kwargs)
DetaliView
DetailView是对这些出版商的诸多的object中的一个进行详细解析,它获得的主数据是一个object。
django.views.generic.detail.SingleObjectTemplateResponseMixin
django.views.generic.base.TemplateResponseMixin
django.views.generic.detail.BaseDetailView
django.views.generic.detail.SingleObjectMixin
django.views.generic.base.View
django.contrib.auth.mixins chouti.models == pk_url_kwarg = get_context_data(self, **(context = super(UserDetailView, self).get_context_data(**] = [33, 44]
ListView
model:获取这个model相关的所有数据
queryset:从这个queryset中获取指定的数据。
queryset的优先级高于model
它所获取的数据是通过context中object_list这个变量来传递的
django.views.generic.list.MultipleObjectTemplateResponseMixin
django.views.generic.base.TemplateResponseMixin
django.views.generic.list.BaseListView
django.views.generic.list.MultipleObjectMixin
django.views.gen
blog.models django.views.generic model = Post queryset = Post.objects.filter(title__contains = ) context_object_name = template_name= ( Post.objects.filter(title__contains = self.kwargs[ get_context_data(self, **(= super(PublisherList, self).get_context_data(**kwargs) context[] = [, ] context
以上就是类视图的详细内容,更多请关注其它相关文章!
上一篇: jquery模拟SELECT下拉框取值效果_jquery
下一篇: PHP使用Session遇到的一个Permission denied Notice解决办法,permissionnotice
推荐阅读
-
Python 数据可视化视图四类操作
-
Android Moveview滑屏移动视图类完整实例
-
视图下拉列表接收控制器传来的值,并选中下拉类表中该值相对应的选项(新手笔记,请各位大神指教)
-
Django RestFramework(DRF)类视图
-
Python 数据可视化视图四类操作
-
Django中针对基于类的视图添加csrf_exempt实例代码
-
VS2017怎么打开类视图?
-
Sanic框架基于类的视图用法示例
-
drf框架学习一:视图类
-
drf-03-2个视图基类(APIView,GenericAPIView)、5个视图扩展类、GenericAPIView的视图子类、视图集基类ViewSet、常用视图集父类、路由Routers