2014-06-04 13 views
8

sto cercando di fare qualcosa di simile al seguente:Tag all'interno tag nel modello di Django

{% include "default_form.html" with action="{% url 'settings' var1 var2 %}" %} 

Ma non sembra essere supportata, come ottengo il seguente errore:

Could not parse the remainder: '"{%' from '"{%' 

C'è un modo per ottenere questo all'interno del modello o devo definire action a mio avviso?

risposta

12

la soluzione più semplice sarebbe:

{% url 'settings' var1 var2 as action_url %} 

{% include "default_form.html" with action=action_url %} 
+1

Questo è perfetto! semplice ed efficace Grazie. – NublicPablo

4

Non si può fare questo:

{% include "default_form.html" with action="{% url 'settings' var1 var2 %}" %} 

È possibile utilizzare solo una volta che il {% ... %} e poi dentro che è possibile utilizzare i tag, variabili ecc ... per esempio se si dispone all'interno di una variabile chiamata url_with_vars voi dovrebbe fare questo:

{% url 'settings' var1 var2 as url_with_vars %} 

{% include "default_form.html" with action=url_with_vars %} 

punta: All'interno del {% .... %} è possibile chiamare una variabile Django senza utilizzare le {{..}} Meani ng che nel modello per mostrare una variabile Django si utilizza {{variable}} ma dentro {% whatever_action ... %} si non fai come{% whatever_action {{variable}} %} il modo corretto sarebbe {% whatever_action variable %}

Ma poi vi renderete conto che non v'è altri problemi per assegnare tale valore di URL con vars a una variabile.

Se si sta tentando di aggiungere action="{% url 'settings' var1 var2 %}" %} alla forma, vi consiglio vivamente di fare qualcosa di simile:

<form action="{% url 'settings' var1 var2 %}"> 
    {% include "default_form.html" %} 
</form> 

Quello che sto cercando di dire in questa parte è che sarà molto più facile per di avere la dichiarazione di modulo nel modello, ed i valori all'interno del modulo nel subtemplate, perché sarà troppo difficile fare quello che stai cercando di fare

Problemi correlati