基于类的视图的API 参考。另请参见基于类的视图 的简介。
由基于类的视图处理的每个请求都具有一个独立的状态;所以,在实例中保存状态变量是安全的(例如,self.foo = 3 是线程安全的操作)。
基于类的视图在URL 模式中的部署使用as_view() 类方法:
urlpatterns = [
url(r'^view/$', MyView.as_view(size=42)),
]
视图参数的线程安全性
传递给视图的参数在视图的每个实例之间共享。这表示不应该使用列表、字典或其它可变对象作为视图的参数。如果你真这么做而且对共享的对象做过修改,某个用户的行为可能对后面访问同一个视图的用户产生影响。
传递给as_view() 的参数将赋值给服务请求的实例。利用前面的例子,这表示对MyView 的每个请求都可以使用 self.size。参数必须对应于在类中已经存在的属性(hasattr 检查可以返回True)。
2015年5月13日