Django IE8会话失败(字面意义为零)

时间:2011-04-25 01:58:24

标签: django session authentication browser cross-browser

我遇到了一个我根本想不通的问题。这是两部分。

我有一个启动页面,要求用户输入Beta代码。如果代码有效,则会将它们重定向到注册页面。如果他们正确注册,他们将在Django中进行身份验证,并重定向到该网站的主页。除了启动和注册外,网站中的所有页面都有@login_required装饰器。

现在奇怪的是,我的一些测试用户声称他们已登录,然后随机重定向到启动页面。我无法重现,我的其他几个测试人员也无法重现该错误。我根本不明白。

但更奇怪的是,我无法在IE8中成功验证用户身份。它只是将我重新引导回到IE8中的启动页面,即使相同的代码在我的其他浏览器上工作。但等等,还有更多,我今天在朋友的电脑上测试了它,IE8在他们的电脑上工作。

到底是什么,我很沮丧。关于我从哪里开始的一些基本想法?

编辑:

这是我的启动页面视图:

def splash(request):

  error=''
  #request.session.set_test_cookie()

  if request.method=="POST": 
    #if request.session.test_cookie_worked():
    #   request.session.delete_test_cookie()
    #else:
    #   cookie_error="You must enable cookies in your browser to use our login system. Our cookies will not track your behavior outside this site or do anything else malicious"
    #   return render_to_response("website/splash.html", {'cookie_error':cookie_error}, context_instance=RequestContext(request))   

    if request.POST.get('email_list',''):
        beta_testform=Beta_TestForm(request.POST)
        if beta_testform.is_valid():
            beta=beta_testform.save()
            return HttpResponseRedirect('/splash/?mls=True')
        else:   
            email_error="Please enter a valid email address"
            return render_to_response("website/splash.html", {'email_error':email_error},context_instance=RequestContext(request))
    if request.POST.get('code'):
        hardcode='codehere'
        code=request.POST.get('code','')
        if hardcode==code:
            request.session['beta']=True
            return HttpResponseRedirect('/splash/register/')
            return HttpResponseRedirect('/')
        else:
            beta_error='Please enter a valid Beta code'
            return render_to_response("website/splash.html", {'beta_error':beta_error}, context_instance=RequestContext(request))

这是我开始的另一个线程的链接(没有得到答复)。它包含我的注册页面视图

https://stackoverflow.com/questions/5758598/decorator-or-session-fail-bug-only-occurs-for-of-users

更新......显然,这种断断续续的会议破坏对其他人来说也是一个问题。 Django session intermittently disappears just after login

0 个答案:

没有答案