Flask写web时cookie的处理

本文来自网易云社区

作者:孙圣翔


flask是一个微型web开发框架,别看他微型,在github上排名还是挺高的。

A microframework based on Werkzeug, Jinja2 and good intentions http://flask.pocoo.org/

因为他微型,容易掌握,所以对于一些控制欲很强的人,比如我,就会放弃强大的dinjgo,而转向flask。

flask的入门教程,看网页的就好。 中文 英文,既然有文档了,我就不从来一遍了。

这篇文章只说cookie的使用,以及我使用时的一些经验


cookie的使用

虽说cookie是存储在客户端的,但存储的方式和内容还是server去定。官网的介绍


存储cookie

Chrome有个插件EditThisCookie还不错,方便开发的时候调试。

设置cookie的代码如下

resp = flask.make_response(render_template(...))
resp.set_cookie('username', 'the username')

cookie是有过期时间的,默认多少,我实在记不得了。如果需要设定cookie的时间,可以通过

outdate = datetime.datetime.today() + datetime.timedelta(days=30)
resp.set_cookie('username', 'the username', expires=outdate)

如果想清空cookie,只有一个办法resp.set_cookie('username', '', expires=0)

cookie还可以指定具体的路径什么的,不过一般直接默认的就可以。 详细的参考这里


读取cookie

读取比较简单

request.cookies.get('username')

因为request在jinja模板中是可以直接使用的,所以可以简单的写到html中

<!DOCTYPE html><html><body>username: {{request.cookies.get('username')}}</body></html>

jinja能直接用的变量还有很多。

进阶篇 由flask官网提供。


网易云免费体验馆,0成本体验20+款云产品!

更多网易研发、产品、运营经验分享请访问网易云社区


相关文章:
【推荐】 NOS直传加速服务
【推荐】 教你制作高逼格的技术分享Keynote(PPT)
【推荐】 知物由学 | 如何应对日益强大的零日攻击

posted @ 2018-09-21 09:43  网易数帆  阅读(783)  评论(0编辑  收藏  举报