如何从烧瓶中的“ImmutableMultiDict”获取数据
在本文中,我们将看到如何从烧瓶中的 ImmutableMultiDict 获取数据。它是一种字典,其中单个键可以具有不同的值。使用它是因为某些元素对同一个键具有多个值,并且它以列表的形式保存键的多个值。它通常用于获取表单中传递的信息。
例子:
Python3
from werkzeug.datastructures import ImmutableMultiDict
data = ImmutableMultiDict([('input', 'GFG'), ('input', 'Geeks For Geeks')])
print(data.getlist('input'))
HTML
Input Page
Python3
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def home():
if request.method == 'POST':
im_dict = request.form
return(f'{im_dict}
')
return render_template('home.html')
if __name__ == '__main__':
app.run(debug=True)
输出:
['GFG', 'Geeks For Geeks']
现在,让我们看看如何从 Flask 的表单中获取 MultiDict 数据。使用一些简单的 HTML 代码来制作表单并将其提交到烧瓶路由。
之后,将使用请求表单对象从表单中获取数据。
主页.html
确保此文件位于“模板”文件夹中
HTML
Input Page
现在创建一个 app.py
在这里,home函数被用作路由的处理程序,它只是呈现 home.html 文件,并在 URL 上进行 POST 时。它只是返回'im_dict' 。实际上,它只不过是一个 ImmutableMultiDict ,其中包含表单中包含的所有数据。
Python3
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def home():
if request.method == 'POST':
im_dict = request.form
return(f'{im_dict}
')
return render_template('home.html')
if __name__ == '__main__':
app.run(debug=True)
输出:
这显示了一个带有“用户名”和“密码”键的 ImmutableMultiDict。