(如何)我可以在django测试中设置会话数据?

时间:2014-02-24 08:08:32

标签: python django session

我依赖于我的django测试的一些会话数据。 我想知道我是否还能这样做,或者我是否需要重新考虑我的逻辑。

无论如何,我正试图像这样设置会话数据:

self.client.session['last_page_id'] = unicode(self.t1_p5.id)

response = self.client.post(final_page_path, final_page_answers,
                                    follow=True) 

因此,self.client.session属性不仅在赋值后为“空”,而且我的会话在使用时实际上是空的 - 是的,分配的值确实存在 - 没有{{1提出来了。

[编辑] django版本1.6

1 个答案:

答案 0 :(得分:1)

我不知道你使用的是哪个版本的Django,但是在一些旧的文档中写道:

  

要修改会话然后保存,必须先将其存储在变量中(因为每次访问此属性时都会创建一个新的SessionStore):

示例:

def test_something(self):
    session = self.client.session
    session['somekey'] = 'test'
    session.save()

docs