我使用jquery-cookie模块从jquery设置/获取cookie。
当我设置Cookie时 - 它是一个会话Cookie,我可以在Chrome的资源标签中看到它。
另一方面,使用reqeust.session [' mycookie'] ='值'在Django中设置cookie。也是会话Cookie,但在Chrome的资源标签中无法显示。
有没有办法使用jquery来访问或设置django会话cookie?
答案 0 :(得分:3)
如果Cookie为HttpOnly cookie,则您无法使用javascript访问它们。
答案 1 :(得分:2)
此:
另一方面,使用
request.session['mycookie'] = 'value'
在Django中设置cookie也是会话cookie
不是真的。
会话是存储在会话存储中的对象,通常是Django服务器上的数据库表。它为单个会话密钥存储多个值。只有这个会话密钥以cookie的形式存在。这显然具有安全性的双重优势,并且无需在每个请求上传输可能很大的cookie。
您可以从jQuery访问会话密钥,但如果不访问服务器上的会话存储,这对您没有任何帮助。
如果您确实需要这样做,可以使用response.set_cookie
从Django设置实际的cookie - 但请仔细考虑这样做的安全性和性能影响。