Templates con Jinja 2
Un templeate -> archivo de HTML -> renderiza informacion: Estatica o DInamica -> por variables -> luego nos muestra en el navegador
Para renderizar un template/plantilla creada con Jinja2 simplemente hay que hacer uso del método render_template.
A este método debemos pasarle el nombre de nuestra template y las variables necesarias para su renderizado como parámetros clave-valor.
Flask buscará las plantillas en el directorio templates de nuestro proyecto. En el sistema de ficheros, este directorio se debe encontrar en el mismo nivel en el que hayamos definido nuestra aplicación. En nuestro caso, la aplicación se encuentra en el fichero hello.py.
Es hora de crear este directorio y añadir las páginas hello.html, La estructura de nuestro proyecto quedaría del siguiente modo:
Flask-proyect
|_hello.py
|_ /templeate
|__ hello.html
Ejemplo archivo hello.py
from flask import Flask, request, make_response, redirect, render_template
app = Flask(__name__)
@app.route('/')
def index():
user_ip = request.remote_addr
response = make_response(redirect('/hello_world'))
response.set_cookie('user_ip', user_ip)
return response
@app.route('/hello_world')
def hello_world():
#creamos nueva variable de la ip que detectamos en el browser
user_ip = request.cookies.get('user_ip')
return render_template('hello_world.html', user_ip= user_ip)
# metodo es render_template con jinja2 y la variable es user_ip.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?