2009-08-07 21 views
26

In Jinja2, ho un modello di base come questo:più blocchi dello stesso nome in Jinja2

<title>{% block title %}{% endblock %} - example.com</title> 
[...] 

<h1> 
    {% block title %}{% endblock %} - example.com 
</h1> 

Jinja2, poi, non riesce con il seguente messaggio:

lines = [self.message, ' ' + location] 
: block 'title' defined twice 

Si deve essere ormai evidente per quello che sto cercando di fare - di avere lo stesso titolo in due punti: il tag TITLE e il tag H1, ma la parte del titolo è in realtà fornita da altri modelli derivati.

Come si ottiene in genere questo?

risposta

53

come documentato here, la definizione di un blocco crea una macro con il nome del blocco nella speciale "sé" oggetto:

<title>{% block title %}{% endblock %} - example.com</title> 
[...] 

<h1> 
    {{ self.title() }} - example.com 
</h1> 
Problemi correlati