时间:2.5个小时左右
代码:100行左右
博客:1
知识点:flask框架的session
继续昨天的内容:
8.会话session
会话可以用来保存当前请求的一些状态,以便于在请求之前共享信息。
from flask import Flask,url_for,request,render_template,redirect,session @app.route('/login', methods=['POST', 'GET']) def login(): if request.method == 'POST': if request.form['user'] == 'admin': session['user'] = request.form['user'] return 'Admin login successfully!' else: return 'No such user!' if 'user' in session: return 'Hello %s!' % session['user'] else: title = request.args.get('title', 'Default') return render_template('login.html', title=title) @app.route('/logout') def logout(): session.pop('user', None) return redirect(url_for('login')) app.secret_key = '123456' if __name__ == "__main__": app.run(debug=True)
你可以看到,”admin”登陆成功后,再打开”login”页面就不会出现表单了。然后打开logout页面可以登出。session对象的操作就跟一个字典一样。特别提醒,使用session时一定要设置一个密钥”app.secret_key”,如上例。不然你会得到一个运行时错误,内容大致是”RuntimeError: the session is unavailable because no secret key was set”。密钥要尽量复杂,最好使用一个随机数,这样不会有重复,上面的例子不是一个好密钥。
参考:https://www.jianshu.com/p/6452596c4edb