Flask Session 详解
2024-08-21 11:43:36
会话session ,允许你在不同请求 之间储存信息。这个对象相当于用密钥签名加密的 cookie ,即用户可以查看你的 cookie ,但是如果没有密钥就无法修改它。
from flask import Flask, session, redirect, url_for, escape, request app = Flask(__name__) @app.route('/')
def index():
if 'username' in session:
return 'Logged in as %s' % escape(session['username'])
return 'You are not logged in' @app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
session['username'] = request.form['username']
return redirect(url_for('index'))
return '''
<form action="" method="post">
<p><input type=text name=username>
<p><input type=submit value=Login>
</form>
''' @app.route('/logout')
def logout():
# 如果会话中有用户名就删除它。
session.pop('username', None)
return redirect(url_for('index')) # 设置密钥,复杂一点:
app.secret_key = 'A0Zr98j/3yX R~XHH!jmN]LWX/,?RT'
这里用到的 escape() 是用来转义的。如果不使用模板引擎就可以像上例 一样使用这个函数来转义。
利用系统生成一个好的密匙
>>> import os
>>> os.urandom(24)
'\xfd{H\xe5<\x95\xf9\xe3\x96.5\xd1\x01O<!\xd5\xa2\xa0\x9fR"\xa1\xa8'
基于 cookie 的会话的说明: Flask 会把会话对象中的值储存在 cookie 中。在打开 cookie 的情况下,如果你访问会话对象中没有的值,那么会得到模糊的错误信息:请检查 页面 cookie 的大小是否与网络浏览器所支持的大小一致。
最新文章
- EasyUI分页
- jstack简单使用,定位死循环、线程阻塞、死锁等问题
- Minimum Adjustment Cost
- BZOJ1579 [Usaco2009 Feb]Revamping Trails 道路升级
- Android系统提供了哪些东西,供我们可以开发出优秀的应用程序
- HDU2647-Reward(拓扑排序)
- &;lt;八&;gt;阅读&;lt;&;lt;大话设计模式&;gt;&;gt;该模型的外观
- 如此高效通用的分页存储过程是带有sql注入漏洞的
- jQuery Mobile事件,开发全解+完美注释
- javaweb面试题
- Grunt搭建自动化web前端开发环境--完整流程
- 二、.Net 连接mycat
- angular2 ng2-validation 表单验证
- Android studio 配置file encoding 无效,中文乱码解决办法
- windows服务与自启动程序的区别(转载)
- pseudo tty破除无法自动输入密码的限制
- parseConf(配置文件解析器)
- SSH(Struts,Spring,Hibernate)和SSM(SpringMVC,Spring,MyBatis)的区别
- jar包、war包
- vue.js指令v-model实现方法
热门文章
- 洛谷U19464 山村游历(Wander)(LCT,Splay)
- 【BZOJ2004】公交线路(动态规划,状态压缩,矩阵快速幂)
- 【BZOJ1087】【SCOI2005】互不侵犯(状态压缩,动态规划)
- Poj2749:Building roads
- Poj2723:Get Luffy Out
- [BZOJ1552] [Cerc2007] robotic sort (splay)
- 小程序 - swiper除了左右切换还有上下滚动超出屏幕的内容
- hadoop第一课
- webuploader配置
- 关于win系统下Anaconda与TensorFlow的安装相关事宜以及错误:ImportError: No module named &#39;tensorflow&#39;的解决