在get中修改的django会话不会影响post中的会话

时间:2015-10-24 14:58:11

标签: python django session post get

我在修改get请求中的request.session时面临问题

假设GET请求中有以下代码:

用户可以从下拉菜单中的蜇选列表中进行选择,该列表与键中的词典组ID相关联:键中的值对,即字符串。

    if request.method == "GET":
        if 'group' in request.GET:
            # Remeber the group in the session
            # First attempt
            request.session['grouporsection'] = request.GET['group']
            # Second attempt
            request.POST.get('grouporsection', request.GET['group'])
            # Print modified session
            print 'GET session:', request.session.items()
            # And return the date form
            content = { 'form' : DateTimeForm(initial={'beg' : '10/24/2015',
                                                       'end' : '10/24/2015'}) }
        else:
            # If group not in request return the date form 
            # and all groups to the group search form
            content = { 'form' : DateTimeForm(initial={'beg' : '10/24/2015',
                                                       'end' : '10/24/2015'}), 
                        'allgroups' : ['FS', 'PS', 'LS', 'JS', '...', '.:.', ':.:', 'blabla', 'and so on'] }

在运行testserver时在控制台中给出以下结果:

GET session: [(u'grouporsection', 'FS'),
              (u'end', u'10/24/2015'), 
              (u'beg', u'10/24/2015')]

当用户现在选择新的日期并点击提交按钮时 request.method获得POST:

    elif request.method == 'POST':
        print 'POST session:', request.session.items()

在控制台中提供以下输出:

POST session: [(u'grouporsection', None),
               (u'end', u'10/24/2015'), 
               (u'beg', u'10/24/2015')]

如何在GET请求中的request.session中修改grouporsection,以便我可以看到它是否已在POST请求中设置? 或者,为什么在用户从下拉列表中选择一个组,然后在即将到来的DateTimeForm中选择了一个是否结束日期并且点击了提交按钮后,grouporsections是否会消失?

提前, BigZ

0 个答案:

没有答案