2011-01-12 13 views

risposta

19

Dalla documentazione:

Il nome del modello può essere sia una variabile o un (citato) stringa hard-coded, sia in singole o doppie virgolette.

Costruisci quindi una variabile nella tua vista e passa al modello tramite il contesto, ad esempio "modeTemplate": "page _" + mode + ".html". Quindi:

{% include modeTemplate %} 

Assumendo 'modalità' è una variabile python nel codice di visualizzazione.

6

Penso che goliney fornito una risposta migliore here

In sintesi:

È possibile combinare lo 'with' template tag integrato di django per assegnare un nome di modello dinamicamente costruito a una variabile e lo 'add' filter e per costruire dinamicamente un nome di modello.

Ad esempio:

{% with template_name='page_'|add:mode|add:".html" %} 
    {% include ""|add:template_name %} 
{% endwith %} 
Problemi correlati