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

标签 django django-generic-views detailview

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

提前致谢

最佳答案

post DetailView 中默认不存在方法,您实际上创建它并没有覆盖,因此您需要自己获取对象,原因是它在 get_context_data 中可用是它已经在 get方法并保存在 object属性(property)。

关于django: DetailView: self.object 从方法 post 调用时会引发错误,但从方法 get_context_data 调用时它确实有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19197480/

相关文章:

python - 如何在 Django 模板中使用 href 属性

ios - 来自 iOS 的 Django HTTP Post 请求

Django:每个用户的 UpdateView 限制

python - 在 ListView 中使用 get_context_Data 进行 paginate_by 时,页面显示所有行

django-rest-framework - 在 Django Rest Framework 中覆盖 POST 的响应

mysql - Django:使用 LEFT JOIN 聚合原始 SQL,无外键,并注入(inject)到 DetailView(上下文)

ios - 去 Segue 还是去 didSelectRowAtIndexPath?

mysql - 进行 MySQL 多重连接的正确方法

python - Django项目——开发与生产

ios - TableView 到 DetailView 视频 - Swift