En este artículo, veremos cómo obtener datos de ImmutableMultiDict en el matraz. Es un tipo de Diccionario en el que una sola tecla puede tener diferentes valores. Se utiliza porque algunos elementos tienen múltiples valores para la misma clave y guarda los múltiples valores de una clave en forma de lista. Por lo general, se usa para pasar la información en un formulario.
Ejemplo:
Python3
from werkzeug.datastructures import ImmutableMultiDict data = ImmutableMultiDict([('input', 'GFG'), ('input', 'Geeks For Geeks')]) print(data.getlist('input'))
Producción:
['GFG', 'Geeks For Geeks']
Ahora, veamos cómo obtener datos MultiDict del formulario en Flask. Con un código HTML simple para hacer un formulario y enviarlo a una ruta de matraz.
Después de eso, el objeto del formulario de solicitud se utilizará para obtener los datos del formulario.
inicio.html
Asegúrese de que este archivo esté en la carpeta ‘plantillas’
HTML
<!DOCTYPE html> <html> <head> <title>Input Page</title> </head> <body> <form method='POST'> <label for="username">Write Username:</label> <input type="text" name="username" id="uname"/> <label for="password">Write Password:</label> <input type="text" name="password" id="pword"/> <input type="submit" value="Submit"/> </form> </body> </html>
Ahora crea una app.py
Aquí, la función de inicio se utiliza como controlador de la ruta. Simplemente presenta el archivo home.html y cuando se envía un POST a la URL. Simplemente devuelve el ‘im_dict’ . No es más que, en realidad, un ImmutableMultiDict que tiene todos los datos contenidos en el formulario.
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'<h1>{im_dict}</h1>') return render_template('home.html') if __name__ == '__main__': app.run(debug=True)
Producción:
Esto muestra un ImmutableMultiDict con las claves ‘nombre de usuario’ y ‘contraseña’.
Publicación traducida automáticamente
Artículo escrito por indorexian y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA