【问题标题】:clear session data after multi-page form submit in Django在Django中提交多页表单后清除会话数据
【发布时间】:2020-01-15 06:30:51
【问题描述】:

我有一个 4 页的表单,在第 3 个表单中,我选择了要上传的图像。我将前 3 个表单的内容存储在会话中。提交第 4 个表单后,我正在从会话变量中收集所需的数据并将它们保存在数据库中。 提交第 4 个表单后,我如何销毁 django 中的会话变量,因为当我填写新的 4 页表单时,我会以第 3 个表单获取先前上传的图像。

有没有更好的方法在django中执行多页表单?

【问题讨论】:

    标签: python django forms


    【解决方案1】:

    您需要调用del request.session['key'] 从会话中删除数据。所以试试这样:

    def fourth_form_submission(request):
        form = FourthForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            # save data to DB from session
            try:
                del request.session['form_1_data']
                del request.session['form_2_data']
                del request.session['form_3_data']
            except KeyError:
                pass
           return HttpResponse("Data has been saved.")
    

    或者你可以使用flush(),但它会删除所有会话数据。

    更多信息可以在documentation找到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-17
      • 2021-09-24
      • 2014-02-18
      • 2011-08-12
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      相关资源
      最近更新 更多