我正在使用一些cookie来存储某些部分的状态。 jQuery 用于设置Cookie。我需要有正确的路径才能删除cookie。这段代码有效,但我提供了路径的值。函数 len 返回0.如何获取带路径值的cookie?
def mylogout(request, next_page=None, template_name=None):
response = render_to_response(template_name,{
}, context_instance = RequestContext(request))
logout(request)
print len(response.cookies.items())
response.delete_cookie('section_body_1', path='/some/url/data/edit/48/')
response.delete_cookie('section_body_2', path='/some/url/data/edit/48/')
response.delete_cookie('section_body_3', path='/some/url/data/edit/48/')
return response
答案 0 :(得分:0)
你做不到。服务器仅接收cookie的名称和值。您只能在cookie创建期间设置其他cookie参数。之后,用户代理负责管理cookie。
设置不带路径的cookie会隐式使用当前的url路径作为cookie路径。
如果这不是问题,您可以为您的Cookie设置常量,通用路径(即/
),然后使用它来删除它们。
答案 1 :(得分:0)
不幸的是,使用包含特定子目录的路径设置的cookie无法被该子目录之外的脚本访问。此外,正如cezio所提到的,你无论如何都无法真正删除用户计算机上的cookie。相反,通常的做法是将cookie的到期日期设置为过去的日期(如1/1/1900)。