【发布时间】:2018-08-31 05:16:14
【问题描述】:
我正在尝试将数据从 get 方法传递到 post 方法,因此我可以通过表单更新我的数据库数据。在下面的代码中,我特别尝试使用类级别变量“saved_objectID”将editObjectID从get方法传递到post方法。但我总是得到空白值/没有值。
有没有办法实现这个?提前感谢您的帮助
class EditDataView(ListView):
model =TemporaryModel
form_class = TemporaryForm
template_name = 'frontend/editData.html'
dict = { "EditData":"Edit Data Below"}
saved_objectID = ''
def get(self, request, *args, **kwargs):
editObjectId = request.GET.get('editObjectId')
editObjects = TemporaryModel.objects.get(pk=editObjectId)
saved_objectID = editObjectId
form = TemporaryForm(instance=editObjects)
return render(request, 'frontend/editData.html', {'form': form,"dict":dict})
def post(self, request, *args, **kwargs):
form = TemporaryForm(request.POST, instance=TemporaryModel.objects.get(pk=self.saved_objectID))
if form.is_valid():
form.save()
return render(request, 'frontend/editData.html', {'form': form,"dict":dict})
【问题讨论】:
-
在 get() 中使用 self.saved_objectID = editObjectId 但不确定类实例是否可用于不同的调用
-
您可以使用 django 的内置会话框架在来自同一匿名浏览器会话的请求之间持久化数据。你试过吗? django 文档中有示例:docs.djangoproject.com/en/2.1/topics/http/sessions/#examples