django:DetailView:self.object从方法post调用时引发错误,但是从方法get_context_data调用时它确实有效

时间:2013-10-05 11:50:58

标签: django django-generic-views detailview

我创建了一个继承自DetailView的类,并且我重写了方法get_context_datapost。标题中提到的看起来很奇怪的是,我可以从self.object拨打get_context_data,但我无法发帖,所以我不得不使用self.get_object()。但我想明白为什么?被self.object移除get_context_data?所以在它之后调用的任何方法都不能使用它或类似的东西?

提前致谢

1 个答案:

答案 0 :(得分:5)

默认情况下,post中不存在

DetailView方法,实际创建它不会覆盖,因此您需要自己获取对象,因为它在{{1}中可用它已经在get_context_data方法中获取并保存在get属性中。