文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
API参考
基于类的视图的API 参考。另请参见基于类的视图 的简介。
- 基础视图
- 通用的显示视图
- 通用的编辑视图
- 通用的日期视图
- 基于类的视图的Mixins
- 基于类的通用视图 —— 索引
说明
由基于类的视图处理的每个请求都具有一个独立的状态;所以,在实例中保存状态变量是安全的(例如,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
键 ,它是一个查询集
实例;关于查询集
对象的更多信息,请参见执行查询。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论