【问题标题】:Session dropped after HttpResponseRedirect in Django?在 Django 中的 HttpResponseRedirect 之后会话丢失?
【发布时间】:2018-11-04 07:36:24
【问题描述】:

我在 Django 中有一个多页表单。也就是说,我有多个 Django Form 对象分布在五个左右的模板中。我想做的是在页面之间传递该表单,然后在字符串末尾将其提交给我的模型。我的代码sn-p如下:

def firstFormStep(request):
    if form.is_valid() :
        for field in form :
            request.session[str(field.name)] = form.cleaned_data[str(field.name)]
        request.session.modified = True
        request.session.save()
        print ("Request: " + str(request.session.items()))
        print ("Session: " + str(request.session.session_key))
        return HttpResponseRedirect(reverse('core:nextFormStep'), request)

在 session.save() 之前,我的 session_key 是 None。之后是一个数字。

我下一个视图的第一行是:

def nextFormStep(request):
    print ("Session: " + str(request.session.session_key))

此时的 session_key 为 None。在 HttpResponseRedirect 的某个地方,我的会话被丢弃了。为什么?我该如何解决这个问题?

【问题讨论】:

  • 使用 SESSION 设置显示您的设置文件。

标签: django web django-views django-sessions


【解决方案1】:

感谢 Usman Maqbool,我发现我的错误是 SESSION_COOKIE_SECURE 在我的开发环境中设置为 True。

【讨论】:

    猜你喜欢
    • 2018-11-25
    • 2020-03-23
    • 2011-08-12
    • 2020-01-09
    • 2013-05-27
    • 2016-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多