Tengo la siguiente lista en Python.
list_val = ['APROBADO','NO APROBADO','DESACTIVAR']
y necesita pasar los valores de esta lista a una casilla de verificación con la plantilla Jinja.
¿Alguien puede ayudar en esto con el código HTML incrustado con la plantilla Jinja?
Rendimiento esperado:-
HTML necesita convertirse con la plantilla JINJA.
<input type="checkbox" id="val1" name="val1" value="app"> <label for="val1"> APPROVED</label><br> <input type="checkbox" id="val2" name="val2" value="unapp"> <label for="val2"> UN-APPROVED</label><br> <input type="checkbox" id="val3" name="val3" value="deac"> <label for="val3"> DEACTIVATE</label>Prueba este código
Este código tendrá etiquetas de entrada con valores como approved , un-approved , deacitvate en lugar de app , unapp , deac . ¿Está bien para ti?
Y también es mejor poner la etiqueta de entrada dentro de la etiqueta de la etiqueta, porque cuando hace clic en la palabra al lado de la casilla de verificación, la casilla de verificación alternará (y es por eso que las etiquetas se usan principalmente para)
Como dice W3schools:
El uso adecuado de etiquetas con los elementos anteriores beneficiará:
- Usuarios de lectores de pantalla (leerán en voz alta la etiqueta, cuando el usuario esté enfocado en el elemento)
- Usuarios que tienen dificultades para hacer clic en regiones muy pequeñas (como casillas de verificación), porque cuando un usuario hace clic en el texto dentro del elemento
<label>, cambia la entrada (esto aumenta el área de impacto).- Sugerencia: el atributo for de
<label>debe ser igual al atributo id del elemento relacionado para unirlos. Una etiqueta también se puede vincular a un elemento colocando el elemento dentro del elemento<label>.
{% for i in range(list_val_len) %} <label for="val{{ i+1 }}" name="val{{ i+1 }}"> <input type="checkbox" id="val{{ i+1 }}" name="val{{ i+1 }}" value="{{ list_val[i].lower() }}"> {{ list_val[i] }} </label><br> {% endfor %} Y también pase la lista list_val y su longitud en argumentos de palabras clave separados en la función render_template como
list_val = ['APPROVED','UN-APPROVED','DEACTIVATE'] @app.route('whatever_route_in_here') def whatever_name_your_function_has(): ... ... render_template('html_file_name.html', list_val=list_val, list_val_len=len(list_val))Dime si no funciona...