page contents

django 关闭浏览器,怎样清除 cookies 和 session?

轩辕小不懂 发布于 2021-11-06 13:47
阅读 667
收藏 0
分类:大数据
2349
Nen
Nen
- 程序员

设置 Cookie

1. def cookie_set(request):

2. response = HttpResponse("<h1>设置 Cookie,请查看响应报文头</h1>")

3. response.set_cookie('h1', 'hello django')

4. return response

Python

读取 Cookie

1. def cookie_get(request):

2. response = HttpResponse("读取 Cookie,数据如下:<br>")

3. if request.COOKIES.has_key('h1'):

4. response.write('<h1>' + request.COOKIES['h1'] + '</h1>')

5. return response

Python

以键值对的格式写会话。

1. request.session['键']=值

Python

根据键读取值。

1. request.session.get('键',默认值)

Python

清除所有会话,在存储中删除值部分。

1. request.session.clear()

Python

清除会话数据,在存储中删除会话的整条数据。

1. request.session.flush()

Python

删除会话中的指定键及值,在存储中只删除某个键及对应的值。

1. del request.session['键']

Python

设置会话的超时时间,如果没有指定过期时间则两个星期后过期。 如果 value 是一个整数,会话将在 value 秒没有活动后过期。 如果 value 为 0,那么用户会话的 Cookie 将在用户的浏览器关闭时过期。 如果 value 为 None,那么会话永不过期。

1. request.session.set_expiry(value)

Python

Session 依赖于 Cookie,如果浏览器不能保存 cookie 那么 session 就失效了。因为它需要浏览器的 cookie 值去 session 里做对比。session 就是用来在服务器端保存用户的会话状态。

cookie 可以有过期时间,这样浏览器就知道什么时候可以删除 cookie 了。 如果 cookie 没有设置过期时间,当用户关闭浏览器的时候,cookie 就自动过期了。你可以改变 SESSION_EXPIRE_AT_BROWSER_CLOSE 的设置来控制 session 框架的这一行为。缺省情况下,SESSION_EXPIRE_AT_BROWSER_CLOSE 设置为 False ,这样,会话 cookie 可以在用户浏览器中保持有效达 SESSION_COOKIE_AGE 秒(缺省设置是两周,即 1,209,600 秒)如果你不想用户每次打开浏览器都必须重新登陆的话,用这个参数来帮你。如果 SESSION_EXPIRE_AT_BROWSER_CLOSE 设置为 True,当浏览器关闭时,Django 会使 cookie 失效。

SESSION_COOKIE_AGE:设置 cookie 在浏览器中存活的时间。

请先 登录 后评论