📅  最后修改于: 2023-12-03 15:22:40.509000             🧑  作者: Mango
开发应用程序时,我们经常需要在应用程序的不同部分之间存储和检索 一些数据。采用会话可轻松存储和检索此类数据,即使用户关闭浏览器或应用程序也不受影响。
会话是指应用程序与特定用户之间的机制,它允许应用程序在不同的页面或请求之间存储和检索数据。 会话一般使用 cookies 在客户端保留会话 ID,同时在服务器端存储会话数据。
在大多数 web 框架中创建会话都非常容易,我们可以使用框架所提供的库或模块,直接调用相应的方法来创建会话即可。
以下是一个例子,展示如何使用 Flask 框架创建会话:
from flask import Flask, session, redirect, url_for, escape, request
app = Flask(__name__)
app.secret_key = 'super secret key'
@app.route('/')
def index():
if 'username' in session:
username = session['username']
return 'Logged in as ' + username + '<br>' + \
"<b><a href = '/logout'>click here to log out</a></b>"
return "You are not logged in <br><a href = '/login'></b>" + \
"click here to log in</b></a>"
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
session['username'] = request.form['username']
return redirect(url_for('index'))
return '''
<form action = "" method = "post">
<p><input type = text name = username></p>
<p><input type = submit value = Login></p>
</form>
'''
@app.route('/logout')
def logout():
session.pop('username', None)
return redirect(url_for('index'))
该示例中,使用 Flask 库提供的 session
对象,实现了登录和注销功能。在用户登录时,将用户名称存储到会话中,而在用户注销时,则从会话中移除相应数据。
会话是存储和检索数据的常用方法,可以在应用程序的不同部分之间保留数据。许多 web 框架提供了创建会话的简便方法,使用这些方法可以轻松地实现数据的存储和检索。