zoukankan      html  css  js  c++  java
  • 2020年3月23日

    时间: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

  • 相关阅读:
    【LeetCode】面试题59
    【LeetCode】面试题57
    【LeetCode】面试题57
    Chrome查看Markdown并转为PDF
    【LeetCode】232. 用栈实现队列
    【LeetCode】27. 移除元素
    【LeetCode】1323. 6 和 9 组成的最大数字
    【LeetCode】167. 两数之和 II
    第14条:在公有类中使用访问方法而非公有域
    Android Studio项目中三种依赖的添加方式
  • 原文地址:https://www.cnblogs.com/j-y-s/p/14903189.html
Copyright © 2011-2022 走看看