등록 절차가 몇 단계로 나뉘어 있습니다. 현재 페이지가 세션에 저장됩니다. 하지만 제 기능은 이상하게 작동합니다. step1
을 새로 고치면 세션의 변수가 2
으로 변경되고 대신 step2
이로드됩니다. 이 단계에서 사용자가 이미 생성되었는지 확인하고 step
을 1로 줄이고 step
이 렌더링되기를 바라는보기로 리디렉션합니다. 하지만 그 대신 내가이상한 리디렉션 및 세션 동작
def my_rte_landing(request):
step = request.session.get("step", request.REQUEST.get("step", 1))
logging.debug("my_rte_landing top step: %s" % step)
if request.method == "POST":
(... next steps ...)
else:
if step == 1:
logging.debug("step 1")
html = render_step1(request)
request.session["step"] = 2
return render_to_response('socialauth/login_page.html',{'html': html,}, context_instance=RequestContext(request))
else:
logging.debug("step 2")
logging.debug("step2, step: %s" % request.session.get('step'))
new_user = True
new_user_id = request_user_uid(request, request.user.id)
html = render_step2(request)
request.session["step"] = 3
return render_to_response('socialauth/login_page.html',
{'html': html}, context_instance=RequestContext(request))
받고 있어요 것은 여기에 사용자의 존재를 확인 내 기능입니다 : (I 로깅하지, 처음 페이지를 방문하고있어
def request_user_uid(request, user_id):
if request.session['step'] == 2:
logging.debug("1 here")
id = get_user_id(user_id)
if id:
logging.debug("2. here")
return id
request.session['step'] = 1
logging.debug("3. here")
logging.debug("step: %s" % request.session.get('step'))
return HttpResponseRedirect(reverse('my_rte_landing'))
을 그리고 내 디버그는 다음과 같습니다, 새로 고침 나는 ..
2010-11-30 17:11:21,434 DEBUG my_rte - nie zalogowany
2010-11-30 17:11:23,245 DEBUG my_rte_landing top step: 1
2010-11-30 17:11:23,246 DEBUG step 1
(first refresh)
2010-11-30 17:11:34,626 DEBUG my_rte_landing top step: 2
2010-11-30 17:11:34,626 DEBUG step 2
2010-11-30 17:11:34,626 DEBUG step2, step: 2
2010-11-30 17:11:34,626 DEBUG 1 here
2010-11-30 17:11:34,628 DEBUG 3. here
2010-11-30 17:11:34,628 DEBUG step: 1
(second refresh)
2010-11-30 17:11:59,523 DEBUG my_rte_landing top step: 3
2010-11-30 17:11:59,523 DEBUG step 2
2010-11-30 17:11:59,524 DEBUG step2, step: 3
URL을 게시 할 수 있습니까? – Seitaridis