伸缩自如的Flask [day5] session

假设,你今天写了一个页面或是储存了一些简单的状态或资讯,call了另外一个API或是跳转到不同页面并且想要保持刚才的资讯或是状态呢?
也许你该考虑看看session。
https://github.com/wilsonsujames/flask_tutorial/blob/main/Flask_with_session/app.py

from flask import Flask, session, redirect, url_for, request,jsonify
import os 

app = Flask(__name__)
app.secret_key = os.urandom(20)

@app.route('/')
def index():
    session['username'] ='bob'
    session['weight'] ='60kg'
    session['height'] ='172cm'

    return jsonify({'status':'using session success'})

@app.route('/getinfo')
def getinfo():
    print(session)
    # 这里可以发现session资料为字典型态
    username=session.get('username')
    weight=session.get('weight')
    height=session.get('height') 
    return jsonify({'username':username,'weight':weight,'height':height})

if __name__ == '__main__':
    app.run(debug=True, port=8591)

执行之後我们到达根路由可以看到回传的json资讯,到达localhost:8591/getinfo可以看见回传了储存於session的资讯,我们也把session印出来了,可以发现session为字典的型态。

假设要去除某个session资讯,我们也可以:

session['xxx'] = False

是的,未来跳转页面时,你可以将特定资讯保留下来,以执行你app的功能了。

注意
请勿将重要资讯,像是会员密码储存於session。另外在生产模式可以将secrect key利用export(linux)、set(windows)来设定还境变数,再利用os.environ.get来获取环境变数的值。

import os
SECRET_KEY = os.environ.get("SECRET_KEY")


<<:  MSSQL 远端连线错误

>>:  DigitalOcean VPS – Premium Droplets 主机测试和跑分,廉价和高效的网站主机

Day-11 Ruby里字串的单引号和双引号差别?

他们2个兄弟长的很像,但有着小小的差异! 一般人应该会以为没有差,结果居然有也… 简单来说 单引号...

Day 9 - Container With Most Water

大家好,我是毛毛。ヾ(´∀ ˋ)ノ 废话不多说开始今天的解题Day~ 11. Container W...

IT铁人DAY 19-Flyweight 享元模式

  一讲到Flyweight,它最主要工作就是要减少记忆体的使用量,至於要怎麽做来能达到这样的效果呢...

庄家 show hand 了? - 竭尽点 ?

今年是台股放量的一年,也是新一代韭菜毕业的一年 很多人提到无本当冲多好赚之类的 但当冲没看懂方向真的...

Day17 购物车 -- 进阶应用

接着在讲一个也是很常用到的功能,优惠!!! 看似人人喜爱的两个字,实际上范围跟方法多到爆炸....,...