📜  如何从烧瓶中的“ImmutableMultiDict”获取数据

📅  最后修改于: 2022-05-13 01:55:03.608000             🧑  作者: Mango

如何从烧瓶中的“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。

如何从烧瓶中的“ImmutableMultiDict”获取数据