Сбой Django IE8 (буквально ноль смысла) - PullRequest
1 голос
/ 25 апреля 2011

У меня проблема, которую я просто не могу понять вообще. Это две части.

У меня есть заставка, которая требует, чтобы пользователи вводили бета-код. Если код действителен, они перенаправляются на страницу регистрации. Если они зарегистрированы правильно, они проходят аутентификацию в Django и перенаправляются на домашнюю страницу сайта. На всех страницах сайта, кроме заставки и регистрации, есть декораторы @login_required.

Теперь, как ни странно, некоторые из моих тестовых пользователей утверждают, что они вошли в систему и затем перенаправлены на случайную заставку. Я не могу воспроизвести это, и некоторые из моих других тестеров также не могут воспроизвести эту ошибку. Я совсем не понимаю.

Еще более странным является тот факт, что я вообще не могу успешно аутентифицировать пользователя в IE8. Он просто перенаправляет меня обратно на заставку в IE8, хотя тот же код работает для меня в других браузерах. Но подождите, это еще не все, сегодня я протестировал его на компьютере друга, а IE8 работал на их компьютере.

Какого черта, я так расстроен. Некоторые основные мысли о том, где я могу начать с этого?

EDIT:

Вот мой вид страницы-заставки:

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 периодически пропадает сразу после входа в систему

...