Aquí está el uso básico:
En primer lugar crear una plantilla
>>> from jinja2 import Template
>>> template = Template('Hello {{ name }}!')
Entonces la hacen pasar las variables
>>> template.render(name='John Doe')
u'Hello John Doe!'
Por lo general, tendrá que cargar plantillas de archivos en lugar de código. Eso es más eficiente y optimizado, y permite herencia de plantillas:
from jinja2 import Environment, PackageLoader
env = Environment(loader=PackageLoader('yourapplication', 'templates'))
que buscará las plantillas dentro de la carpeta templates
del paquete Python yourapplication
, tal como está instalado en la ruta de Python. Puede usar otros cargadores para cargar desde un sistema de archivos específico u otros lugares también.
A continuación, puede cargar una plantilla:
template = env.get_template('mytemplate.html')
print template.render(the='variables', go='here')
Al utilizar Frasco todo está configurado para usted, por lo que sólo puede utilizar la función de Frasco render_template
y ya va a buscar una subcarpeta templates
de su aplicación:
from flask import render_template
@app.route('/hello/')
def hello(name=None):
return render_template('hello.html', name=name)
Nota la variable de plantilla (también conocido como contexto) que se pasa a render_template
Jinja tiene bonita good documentation. Por favor leelo. Siéntase libre de hacer más preguntas.
frasco es una buena opción. Y su tutorial responde más o menos a sus preguntas: http://flask.pocoo.org/docs/quickstart/#rendering-templates. También tenga en cuenta cómo '@ app.route' define la URL. – 9000
Gracias, así que tendría un script de python para cada página, declararía las variables dentro de cada script de python, y luego las pasaría a template.render? –