内置基于类的视图API¶
基于类的视图API参考。有关介绍材料,请参阅 基于类的视图 主题指南。
规范¶
基于类的视图所服务的每个请求都具有独立的状态;因此,在实例上存储状态变量是安全的(即,self.foo = 3
是线程安全操作)。
使用 as_view()
类方法将基于类的视图部署到URL模式中:
urlpatterns = [
url(r'^view/$', MyView.as_view(size=42)),
]
线程安全与视图参数
传递给视图的参数在视图的每个实例之间共享。这意味着你不应该使用列表,字典或任何其他可变对象作为视图的参数。如果这样做,并且修改了共享对象,则访问您的视图的一个用户的操作可能会影响访问同一视图的后续用户。
传递到 as_view()
的参数将分配到用于服务请求的实例。使用前面的示例,这意味着 MyView
上的每个请求都能够使用 self.size
。参数必须对应于类上已存在的属性(在 hasattr
检查上返回 True
)。