首页 > 解决方案 > 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" )

标签: pythonjqueryajaxdjangodjango-views

解决方案


推荐阅读