【问题标题】:I set a key in django's request.session , but has no effect我在 django 的 request.session 中设置了一个键,但没有效果
【发布时间】:2014-04-22 08:12:47
【问题描述】:

我在下面的会话中设置了作业文件键:

def getjoblist(request):
    joblist = request.GET.get('job')
    jobliststr = joblist[0:-1]
    request.session['jobfile'] = jobliststr
    return HttpResponse("ok\n")

我检查了mysql数据库,行是递增的,但是当我测试密钥时,它显示密钥不在会话中:

if request.session.has_key('jobfile'): # return False;

我不知道为什么?

【问题讨论】:

  • 你确定 Django 遇到了这个方法吗?
  • 似乎您正在使用数据库支持的会话。确保: 1. Django 遇到了这个方法。 2. 'django.contrib.sessions' 在您的 INSTALLED_APPS 设置中。 3.你已经运行manage.py migrate来安装存储会话数据的单个数据库表。
  • @Dinever 我以错误的方式使用会话,所以得到那个结果。
  • 然后随意回答您自己的问题,并将其设置为最终答案。 :)

标签: mysql django session python-2.7


【解决方案1】:

您可能需要在添加新密钥后保存会话

request.session['jobfile']
request.session.save()

【讨论】:

【解决方案2】:

我知道为什么,首先我使用shell命令'curl'请求,会话被保存。然后,我使用浏览器请求,会话也被保存。但是,这两个会话并不相同,因为用户之间的会话不同。所以,我拿不到钥匙。

【讨论】:

    猜你喜欢
    • 2017-02-20
    • 1970-01-01
    • 1970-01-01
    • 2017-01-20
    • 1970-01-01
    • 2014-01-08
    • 1970-01-01
    • 2017-05-09
    • 2011-01-13
    相关资源
    最近更新 更多