首页 >后端开发 >Python教程 >如何在 Flask 应用程序的页面之间传递变量?

如何在 Flask 应用程序的页面之间传递变量?

Susan Sarandon
Susan Sarandon原创
2024-12-08 03:00:11371浏览

How Can I Pass Variables Between Pages in a Flask Application?

Flask 页面之间传递变量

在 Flask 中,页面之间传递变量可以通过多种方式实现,包括会话、查询参数、看法args.

会话

会话提供了一种简单的方法来存储 Python 值以供以后检索。它们的行为就像一个持久字典,可以承受多个请求。要使用会话,只需为“会话”字典分配一个变量即可:

@app.route('/a')
def a():
    session['my_var'] = 'my_value'
    return redirect(url_for('b'))

在后续页面中,可以按如下方式访问该值:

@app.route('/b')
def b():
    my_var = session.get('my_var', None)
    return my_var

查询参数

查询参数允许您将数据从模板 URL 直接传递到页面处理程序。这对于传递不需要为后续请求保留的少量数据非常有用。要使用查询参数,请将参数名称和值附加到模板中的 URL:

<a href="{{ url_for('b', my_var='my_value') }}">Send my_value</a>

这将生成类似 /b?my_var=my_value 的 URL,可以在页面处理程序中访问该 URL,如下所示:

@app.route('/b')
def b():
    my_var = request.args.get('my_var', None)

查看参数

查看参数提供了一种方法将数据从 URL 直接传递到视图函数中。这与查询参数类似,但数据不会在 URL 中公开。要使用视图参数,请使用预期的参数类型注释路由函数:

@app.route('/b/<my_var>')
def b(my_var):
    # Use 'my_var' in your view function

请注意,视图参数不能用于传递任意数据,因为它们是带类型注释的。

以上是如何在 Flask 应用程序的页面之间传递变量?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn