我看了“How to use sessions”,在django.contrib.sessions.middleware.SessionMiddleware
中将MIDDLEWARE_CLASSES
添加到django.contrib.sessions
和INSTALLED_APPS
添加到settings.py
,并在我看来尝试了以下内容:
if not request.session.get('confirmed_disclaimer', False):
if request.method == "POST":
form = DisclaimerForm(data=request.POST)
if form.is_valid():
request.session['confirmed_disclaimer'] = True
return HttpResponseRedirect('.')
else:
form = DisclaimerForm()
else:
if request.method == "POST":
form = AuthenticationForm(data=request.POST)
if form.is_valid():
auth_login(request, form.get_user())
return HttpResponseRedirect('.')
else:
form = AuthenticationForm(request)
return render_to_response('login.html', {'form': form, },
context_instance=RequestContext(request))
如果尚未确认一次(会话),则应先显示免责声明表单,然后再显示登录表单。但是我在HttpResponseRedirect
之后失去了会话。
我使用它错了吗?
任何建议的Thx!
修改
有一个
...
logout(request)
return login(request)
在Mixin中。每次创建一个新的会话,抱歉和thx试图帮助@DrTyrsa!