django 1.8 官方文档翻译: 3-4-5 内建基于类的视图的API
2015-08-30 08:57
579 查看
内建基于类的视图的API
基于类的视图的API 参考。另请参见基于类的视图 的简介。基础视图
View
TemplateView
RedirectView
通用的显示视图
DetailView
ListView
通用的编辑视图
FormView
CreateView
UpdateView
DeleteView
通用的日期视图
ArchiveIndexView
YearArchiveView
MonthArchiveView
WeekArchiveView
DayArchiveView
TodayArchiveView
DateDetailView
基于类的视图的Mixins
Simple mixins
ContextMixin
TemplateResponseMixin
Single object mixins
SingleObjectMixin
SingleObjectTemplateResponseMixin
Multiple object mixins
MultipleObjectMixin
MultipleObjectTemplateResponseMixin
Editing mixins
FormMixin
ModelFormMixin
ProcessFormView
DeletionMixin
Date-based mixins
YearMixin
MonthMixin
DayMixin
WeekMixin
DateMixin
BaseDateListView
基于类的通用视图 —— 索引
Simple generic views
View
TemplateView
RedirectView
Detail Views
DetailView
List Views
ListView
Editing views
FormView
CreateView
UpdateView
DeleteView
Date-based views
ArchiveIndexView
YearArchiveView
MonthArchiveView
WeekArchiveView
DayArchiveView
TodayArchiveView
DateDetailView
说明
由基于类的视图处理的每个请求都具有一个独立的状态;所以,在实例中保存状态变量是安全的(例如,self.foo = 3是线程安全的操作)。
基于类的视图在URL 模式中的部署使用
as_view()类方法:
urlpatterns = [ url(r'^view/$', MyView.as_view(size=42)), ]
视图参数的线程安全性
传递给视图的参数在视图的每个实例之间共享。这表示不应该使用列表、字典或其它可变对象作为视图的参数。如果你真这么做而且对共享的对象做过修改,某个用户的行为可能对后面访问同一个视图的用户产生影响。
传递给
as_view()的参数将赋值给服务请求的实例。利用前面的例子,这表示对
MyView的每个请求都可以使用
self.size。参数必须对应于在类中已经存在的属性(
hasattr检查可以返回
True)。
基础视图 VS. 通用视图
基于类的基础视图可以认为是父视图,它们可以直接使用或者继承它们。它们不能满足项目中所有的需求,在这种情况下有Mixin 可以扩展基础视图的功能。Django 的通用视图建立在基础视图之上,用于作为经常用到的功能的快捷方式,例如显示对象的详细信息。它们提炼视图开发中常见的风格和模式并将它们抽象,这样你可以快速编写常见的视图而不用重复你自己。
大部分通常视图需要
queryset键 ,它是一个
查询集实例;关于
查询集对象的更多信息,请参见执行查询。
译者:Django 文档协作翻译小组,原文:API reference。
本文以 CC BY-NC-SA 3.0 协议发布,转载请保留作者署名和文章出处。
Django 文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质。交流群:467338606。
相关文章推荐
- django 1.8 官方文档翻译: 2-1-4 Model 类参考
- django 1.8 官方文档翻译: 13-1-1 Django 中的用户认证
- django开发博客(1) 入门
- ubuntu安装Google Chrome
- leetcode: (9) Palindrome Number
- Goods:登录页面之登录功能的实现
- django分页技术paginator
- EM算法(Expectation Maximization Algorithm)
- django Q查询
- 安装go语言
- django开发博客(1) 入门
- django开发博客(1) 入门
- Django最佳实践(中文版)
- HDU1533 Going Home(最小费用最大流 spfa模版)
- poj 2762 Going from u to v or from v to u?【强连通分量缩点+拓扑排序】
- HDOJ 题目4416 Good Article Good sentence(后缀数组求a串子串在b串中不出现的种类数)
- django 模板标签 过滤器
- leetcode: (205) Isomorphic Strings
- chrome安装时一直显示“准备就绪”的解决方案
- django 1.8 官方文档翻译: 1-3-1 高级教程:如何编写可重用的应用