python - Django Session 在多个视图之间不起作用
问题描述
我有一个登录视图,它呈现一个登录页面供用户填写。一旦用户提交登录页面,就会对另一个名为 home 的视图进行 post 调用。此主视图验证用户凭据,如果成功则重定向到呈现新 html 文件的另一个视图。
在 settings.py
'django.contrib.sessions' 被添加到已安装的应用程序中。'django.contrib.sessions.middleware.SessionMiddleware' 被添加到 MIDDLEWARE。
问题:- 我在主视图中设置了一个会话字段,然后当流程被重定向到另一个视图时,会话字段变得无效。由于公司政策,我无法提供整个代码,但我提供了解释我的问题所需的尽可能多的信息。
注意:- 加载 Index.html 时,后事务是通过 Index.html 文件中的 AJAX/jquery 进行的,并且在成功时,相同的 index.html 文件使用 window.location.href('/XYZ') 访问视图 XYZ ;
错误:- KeyError:“用户名”
def index(request):
return HttpResponseRedirect(reverse('login'))
def login( request ):
return render_to_response('Index.html')
def home( request ):
login( user );
request.session['userName'] = "test";
return HttpResponse( "SUCCESS" )
def XYZ( request ):
print( request.session['userName'])
return HttpResponse( "FAILED" )