Cómo obtener datos de ‘ImmutableMultiDict’ en el matraz

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.

Jerarquía de carpetas 

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:

Escriba cualquier cosa en los campos y presione enviar

 Esto muestra un ImmutableMultiDict con las claves ‘nombre de usuario’ y ‘contraseña’.

How to get data from 'ImmutableMultiDict' in flask

 

Publicación traducida automáticamente

Artículo escrito por indorexian y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *