gpt4 book ai didi

python - 将数据从 post() 传递到 get_context_data()

转载 作者:太空宇宙 更新时间:2023-11-04 00:48:17 26 4
gpt4 key购买 nike

我正在从提交的表单中生成一个对象。我想将生成的 AutoField 作为隐藏的表单元素传递给下一个表单。但是,我不知道如何将变量从 post() 传递到 get_context_data()。我知道 post() 首先被调用,然后是 get_context_data(),但是将变量添加到 self 不会产生我期望的结果(该属性在 self 上不存在)。

这是我遇到的一个例子:

def get_context_data(self, **kwargs):
context = super(MyView, self).get_context_data(**kwargs)
print self.hello
return context

def post(self, request, *args, **kwargs):
self.hello = "hello"
return HttpResponseRedirect(request.path)

self.helloget_context_data 中调用时无效。我觉得好像我可能误认为 HttpResponseRedirect(request.path) 调用,但我不确定如何呈现模板。

这是一个简单的错误,还是我应该以一种完全不同的方式来处理这个问题?

最佳答案

通过自己定义post,您已经覆盖了 View 的默认行为。您可以看到没有调用 get_context_data 或任何其他类方法,因此自然不会调用它们。

通常您不应该覆盖特定的 get 或 post 方法。您没有显示完整 View ,因此不清楚您要实现的行为是什么,但是例如在表单 View 中您想要定义 success_url 以设置表单在提交后重定向到的位置.

关于python - 将数据从 post() 传递到 get_context_data(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38319384/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com