烧瓶:如何删除饼干? [英] Flask: How to remove cookies?

查看:165
本文介绍了烧瓶:如何删除饼干?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



  from flask import make_response 

@ app.route('/')
def index():
resp = make_response(render_template(...))
resp.set_cookie('username','the username')
return resp

但我该如何删除它们?没有remove_cookie方法。我试过:

  if request.cookies.get('sessionID'); 
request.cookies.pop('sessionID',None)

但事实证明, request.cookies对象是不可变的。我该怎么办?

解决方案

没有用于删除cookie的HTTP头。传统上,您只需将cookie设置为过期的过期日期的虚拟值,即可立即过期。

  resp.set_cookie ('sessionID','',expires = 0)

这会将会话ID cookie设置为在$ unixtime 0 过期的空字符串,这几乎肯定是过去的。


I set cookies with the code suggested in the docs:

from flask import make_response

@app.route('/')
def index():
    resp = make_response(render_template(...))
    resp.set_cookie('username', 'the username')
    return resp

But how do I remove them? There is no remove_cookie method. I tried:

if request.cookies.get('sessionID');
    request.cookies.pop('sessionID', None)

but it turns out that the request.cookies object is immutable. What do I do?

解决方案

There's no HTTP header for deleting a cookie. Traditionally you just set the cookie to a dummy value with an expiration date in the past, so it immediately expires.

resp.set_cookie('sessionID', '', expires=0)

This will set the session id cookie to an empty string that expires at unixtime 0, which is almost certainly in the past.

这篇关于烧瓶:如何删除饼干?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆