flask session 对象
简述:
session与cookies不一样,session存储在服务器端,一般是进程内,也可通过第三方进行存储。
session的生命周期为用户登陆到用户退出之间
使用session需要用到加密标识(secret_key),用于防篡改。
app.secret_key = "you_key_!@#$"
session[‘username‘] = username#设置一个username的session
session.pop(‘username‘,None)
设计:一个简单的登陆程序
1、用户登陆
@app.route(‘/login‘,methods=[‘POST‘,‘GET‘]) def login(): if request.method == ‘POST‘: username = request.form[‘username‘]#此次应该进行详细的认证后再存session session[‘username‘] = username return redirect(url_for(‘/index‘)) return ‘‘‘ <form action=‘/login‘ method=‘POST‘> <input name=‘username‘ /> <input type=‘submit‘ value=‘submit‘ /> </form> ‘‘‘
2、首页
@app.route(‘/index‘) def index(): if ‘username‘ in session: username = session[‘username‘] return ‘welcome {0}‘.format(username) else: return ‘please you login‘
3、注销
@app.route(‘/logout‘) def logout(): session.pop(‘username‘,None)#字典的方法相似 return redirect(url_for(‘/index‘))
原文地址:http://cwtea.blog.51cto.com/4500217/1834436