我搭的站 -> http://115.28.200.89/
以 session 保存状态
本来 python app.py 运行得好好地,后来用 gunicorn 跑一跑,结果隔 3 题后 session 就木有了(第一次访问将赋给一个 seesion ,算做初始化,结果现在 3 题后又初始化了的样子)
我开始查找原因,一度想换上 redis 存储 session
看资料知道 flask 的 session 数据存储在客户端 cookie 中,返回服务器时解密其中的数据
那么不该出现现在的问题啊,怎么 gunicorn 运行是就不正常工作了呢?
这时我看到了我的代码里头
app.secret_key = os.urandom(24)
我是用这样的办法设置 app.secret_key ,我恍然大悟, gunicorn 是多进程的,那么重新运行时 os.urandom(24)又是串新的字符串,原来如此啊!
于是我把 app.secret_key = os.urandom(24)改成 app.secret_key = '某常量字符串' 后,
问题就解决了!
1
ryd994 2016-01-03 11:16:37 +08:00 via Android
为什么不好好读文档……
|
2
zjxubinbin 2016-01-03 12:47:01 +08:00
@ryd994 我也觉得挺神奇啊,难道现在的大学生都不能好好把文档看完的?
|
3
donghouhe OP @zjxubinbin app.secret_key = os.urandom(24)这种写法是某博客推荐的“技巧”啊,我没想到这技巧这么坑爹
|
4
ryd994 2016-01-03 13:15:52 +08:00
@donghouhe 教程,中文,呵呵呵
好歹也是要考四六的人,就不能努力学点英文看官方文档么? Ctrl-C Ctrl-V 之前就不能查查这个属性有什么作用么? 个人习惯:开工之前把可能用到的库的文档完整看一遍 |
7
tanywei 2016-01-03 23:24:10 +08:00
让我想到了 sqlalchemy 中的 datetime
|
8
zjxubinbin 2016-01-04 11:55:38 +08:00
@donghouhe 某博客是不是你在百度搜索到的~
|
9
donghouhe OP @zjxubinbin 米有错
|
11
MrAMS 2019-02-20 00:02:50 +08:00
感谢!终于找到问题所在了,哎,我也是个没习惯阅读文档的学生党……
|