在 Flask 页面之间传递变量
在 Flask 应用程序中,可能需要在不同页面之间共享数据。为了实现这一点,有几种方法可用。
会话变量
如果您需要存储用户不可见且可以安全序列化为 JSON 的数据,可以使用 Flask 会话。此方法适用于较小量的数据,因为过大的数据量可能会导致性能问题。
@app.route('/a') def a(): # Store a variable in the session session['my_var'] = 'my_value' # Redirect to page b return redirect(url_for('b')) @app.route('/b') def b(): # Retrieve the variable from the session my_var = session.get('my_var', None) return my_var
查询参数
用于将数据从模板传递到可以利用URL、查询参数。它们允许您以如下格式将数据附加到 URL:
/b?my_var=my_value
此方法对于用户可见的少量数据很方便。数据可以在接收页面访问。
@app.route('/b') def b(): # Retrieve the variable from the query parameters my_var = request.args.get('my_var', None)
其他注意事项
存储大量数据时,请考虑使用数据库或外部数据存储来代替会话变量。这可确保最佳性能和安全性。此外,可能不建议对用户可见数据使用会话变量,因为用户可以操纵 cookie 和会话数据。
以上是如何在 Flask 应用程序的页面之间有效地传递变量?的详细内容。更多信息请关注PHP中文网其他相关文章!