Para bucle en motor de plantillas Flask

Python Frasco: En este tutorial, vamos a aprender sobre la class bucle en el frasco motor de plantillas en Python con ejemplos .

frasco viene con un lenguaje de plantillas Jinja . La plantilla contiene esencialmente las variables, así como algunos lógica de programación, que cuando se evaluó transmitidas en HTML con valores reales. Las variables y / o lógica se colocan entre etiquetas o delimitadores.

Jinja plantillas son archivos HTML que por las convenciones del matraz se colocan en las plantillas de la carpeta en el proyecto frasco.

Tener un bucle de la lista de usuarios o de cualquier lista como cuestión es un requisito muy evidente en una aplicación web. Sería muy ingenuo e inmanejable para agregar una nueva página for cada nuevo elemento de la lista. Aquí es donde el for -loop en las plantillas de Jinja son útiles.

Considere el siguiente ejemplo,

from flask import Flask, render_template
app = Flask(__name__)
@app.route("/jinja")
def jinja_test():
return render_template('include_help.html', my_string="Include Help!", my_list=[0,1,2,3,4,5])
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5005)

En el ejemplo anterior, cuando en el navegador de los usuarios navega a http: // localhost: 5005 / jinja la página Web representada mostrará secuencialmente el número de lista.

La lista podría tan simple como una lista de números o usuarios o perfiles para que sea compleja.

El ‘include_help.html’ se implementa como

<html>
<head>
<title>Include help Template Example</title>
</head>
<body>
<p>{{my_string}}</p>
<p>Your lucky number is ;) : {{my_list[3]}}</p>
<p>Loop through the list:</p>
<ul>
{% for n in my_list %}
<li>{{n}}</li>
{% endfor %}
</ul>
</body>
</html>

en la representación de la plantilla, el mi_cadena y my_list se sustituye con los valores reales enviados desde el código de backend. El my_list es entonces itera usando un bucle for. El bucle class comienza con una class y termina con endfor dentro de la {%%} etiqueta.

Al ejecutar el código anterior, el HTML representado es,


Deja un comentario

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