我正在将数据保存session_key
到一个对象以将数据与匿名用户相关联。在单元测试中,我试图使用测试客户端来设置一个固定的键,但是在 POST 请求期间键会发生变化。一个例子:
// tests.py
def test_post(self):
session_key = "123"
session = self.client.session
session['session_key'] = session_key
session.save()
response = self.client.post('/post-url/')
self.assertEquals(response.content, session_key)
# AssertionError: b'str60i3gjpvru8f7mellsdf2y3xd2jgh' != '123'
// views.py
@require_http_methods(['POST'])
def ajax_post(request):
return HttpResponse(request.session.session_key)
基于此评论,我尝试response = self.client.get('/')
在更改 session_key 之前包含另一个 GET 响应,但这似乎没有帮助。
我究竟做错了什么?
编辑:我正在使用 Django 1.9.6,Python 3.4。丹尼尔罗斯曼回答后更改了问题标题。