python+flask开发属于自己的个人轻量级web服务网站(十三)

如何在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)

在浏览器运行一下:报错:

18.png

需要我们设置Set the secret_key on the application to something unique and secret.
在代码中加入:app.config['SECRET_KEY']= os.urandom(24)
再次运行:
19.png

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)

20.png

删除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)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容