可以通过在Flask应用程序中设置SESSION_COOKIE_PATH和SESSION_COOKIE_SECURE选项来解决此问题。
示例代码如下:
from flask import Flask, session, redirect, url_for
app = Flask(__name__)
# 设置会话cookie路径和安全性选项
app.config['SESSION_COOKIE_PATH'] = '/'
app.config['SESSION_COOKIE_SECURE'] = True
@app.route('/')
def index():
# 将数据添加到会话中
session['username'] = 'testuser'
return redirect(url_for('new_page'))
@app.route('/newpage')
def new_page():
# 从会话中获取数据
username = session.get('username')
return 'Hello, {}'.format(username)
if __name__ == '__main__':
app.run()
在上述代码中,我们设置了SESSION_COOKIE_PATH为'/',表示会话cookie在应用程序的根路径下。此外,我们还设置了SESSION_COOKIE_SECURE选项,以确保会话cookie在https协议下传输。
在index函数中,我们将数据添加到会话中,并重定向到new_page视图函数。在new_page函数中,我们获取会话中的数据并将其返回给用户。通过这个方法,我们可以保持会话数据在重定向到新页面时的稳定性。