Django&斜纹 - 会话cookie没有设置

时间:2011-03-11 15:36:17

标签: python django testing cookies twill

我正在使用twilldjango-test-utils测试django应用程序,而且它没有让我登录。

我认为它没有设置django会话cookie。我转到调用request.session.set_test_cookie()的网页(斜纹),然后在该调用返回后,twill.show_cookies()(应该打印出cookie)显示没有cookie。在另一个页面/视图中,request.session.test_cookie_worked()会返回False

奇怪,另一个页面,调用request.set_cookie(...)手动设置cookie,这是有效的。 twill.show_cookies()显示该Cookie。所以有些cookie正在运行,但会话中间件似乎没有工作......

可能发生什么事?如何将twang设置为django会话cookie?

其他一些人遇到过类似问题,example on django-userscomment about cookies on another twill/django script

1 个答案:

答案 0 :(得分:0)

作为F.C.如果客户端和服务器是不匹配时间(甚至可能是时区)的不同计算机,则最终可能会出现cookie过期问题。

我只是仔细检查了the code for set_test_cookie(),看起来它正常地设置了这个值。您确定您遇到问题的页面没有返回错误(因此没有设置test_cookie)吗?有许多方法可能会发生,但是我的头脑中还有:

  • 斜纹可能不会发送您的应用所需的Host标题
  • 斜纹可能不会发送您的应用需要referer
  • 斜纹可能不支持压缩/加密/ multipart /其他
  • 斜纹可能无法以其他方式完美地模拟浏览器
  • 您的其他一个中间件可能需要上述
  • 的某些组合

仔细检查您的其他中间件。尝试制作一个只测试此问题的空白项目。只启用管理员的空白项目就足够了。如果您可以在最小配置中复制它,我们可以更方便地追查错误。