我正在使用twill和django-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-users,comment about cookies on another twill/django script
答案 0 :(得分:0)
作为F.C.如果客户端和服务器是不匹配时间(甚至可能是时区)的不同计算机,则最终可能会出现cookie过期问题。
我只是仔细检查了the code for set_test_cookie()
,看起来它正常地设置了这个值。您确定您遇到问题的页面没有返回错误(因此没有设置test_cookie
)吗?有许多方法可能会发生,但是我的头脑中还有:
Host
标题referer
仔细检查您的其他中间件。尝试制作一个只测试此问题的空白项目。只启用管理员的空白项目就足够了。如果您可以在最小配置中复制它,我们可以更方便地追查错误。