作者:​​孙圣翔​


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官网提供。