【flask】session的操作
程序员文章站
2024-03-20 19:56:16
...
1,引入模块。
from flask import Flask,session
import os
from datetime import timedelta
2,随机生成24位的SECRET_KEY,因为flask要在客户端对cookie加密,所以要使用SECRET_KEY,使得对隐私数据实现加密。
app = Flask(__name__)
app.config['SECRET_KEY'] = os.urandom(24)
3,设置session的值,就像对字典的操作,是一样的。
session['username'] = 'xinjing2018'
4,获取session里面的值。通过使用get方法,比[]的方法好。
session['username']
session.get('username')
5,删除特定的session的值
session.pop('username')
6,清除session的值
session.clear()
7,设置过期时间为7天如下代码。如果都不设置的话,默认的过期时间是关闭浏览器就自动清除了cookie数据。如果只写session.permanent = True,那么过期时间默认是31天。
app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(days=7)
session.permanent = True
8,完整代码,通过访问对应的路由就可以查看对应的效果。
from flask import Flask,session
import os
from datetime import timedelta
app = Flask(__name__)
app.config['SECRET_KEY'] = os.urandom(24)
app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(days=7)
@app.route('/')
def index():
session['username'] = 'xinjing2018'
session.permanent = True
return 'Hello Flask'
@app.route('/get/')
def get():
return session.get('username')
@app.route('/dels/')
def dels():
print(session.get('username'))
session.pop('username')
print(session.get('username'))
return 'dels done'
@app.route('/clear/')
def clear():
print(session.get('username'))
session.clear()
print(session.get('username'))
return 'clear done'
if __name__ == "__main__":
app.run(debug=True)