如何在flask中操作session
首先我们加入一个session
from flask import Flask,session
app = Flask(__name__)
@app.route('/')
def hello_world():
session['username']='gao'
return 'Hello World!'
@app.route('/get/')
def get():
return session.get('username')
if __name__ == '__main__':
app.run(debug=True)
在浏览器运行一下:报错:
需要我们设置
Set the secret_key on the application to something unique and secret.
在代码中加入:
app.config['SECRET_KEY']= os.urandom(24)
再次运行:
from flask import Flask,session
import os
app = Flask(__name__)
app.config['SECRET_KEY']= os.urandom(24)
@app.route('/')
def hello_world():
session['username']='gao'
return 'Hello World!'
@app.route('/get/')
def get():
return '当前的cookie值为username:'+session.get('username')
if __name__ == '__main__':
app.run(debug=True)
删除cookie的操作代码是:
session.pop('key')
清除cookie的操作代码是:
session.clear()
设置cookie的过期时间
设置cookie的过期时间这一点是非常有必要的,设置好过期时间比如七天后,在七天内,用户可以免登录访问服务器,如果超过七天就需要重新输入用户名和密码 再次登录。
from flask import Flask,session
import os
from datetime import timedelta
app = Flask(__name__)
app.config['SECRET_KEY']= os.urandom(24)
app.config['PERNAMENT_SESSION_LIFETIEM']=timedelta(days=7)
@app.route('/')
def hello_world():
session['username']='gao'
#如果没有设置过期时间,系统默认为关闭浏览器即过期
#设置过期时间,系统默认当session.permanent = True时是31天,如果想要更改为自己想要的时间需要加入app.config['PERNAMENT_SESSION_LIFETIEM']=timedelta(days=7)
session.permanent = True
return 'Hello World!'
@app.route('/get/')
def get():
return '当前的cookie值为username:'+session.get('username')
if __name__ == '__main__':
app.run(debug=True)