Ecco l'uso di base:
Innanzitutto creare un modello
>>> from jinja2 import Template
>>> template = Template('Hello {{ name }}!')
Poi renderlo passando le variabili
>>> template.render(name='John Doe')
u'Hello John Doe!'
Di solito si vuole caricare i modelli da file invece di codice. Questo è più efficiente e ottimizzata, e permette l'ereditarietà dei template:
from jinja2 import Environment, PackageLoader
env = Environment(loader=PackageLoader('yourapplication', 'templates'))
che cercherà i modelli all'interno della cartella templates
del pacchetto yourapplication
Python, come installato nel percorso di Python. Potresti usare altri caricatori per caricare da un filesystem specifico o anche da altri posti.
Poi si può caricare un modello:
template = env.get_template('mytemplate.html')
print template.render(the='variables', go='here')
Quando si utilizza Flask tutto è configurato per voi, quindi si può semplicemente utilizzare la funzione di Flask render_template
e sarà già cercare un templates
sottocartella della vostra applicazione:
from flask import render_template
@app.route('/hello/')
def hello(name=None):
return render_template('hello.html', name=name)
Nota la variabile di modello (nota anche come contesto) viene passata al render_template
Jinja ha un bel good documentation. Per favore leggilo. Sentiti libero di fare ulteriori domande.
Flask è una buona scelta. E il suo tutorial più o meno risponde alle tue domande: http://flask.pocoo.org/docs/quickstart/#rendering-templates. Nota anche come '@ app.route' definisce l'URL. – 9000
Grazie - quindi dovrei avere uno script python per ogni pagina, dichiarare le variabili all'interno di ogni script python e poi passarle a template.render? –