Avevo un semplice tag personalizzato. E sembra che non possa usare un filtro come argomento.django - usa il filtro nell'argomento per un semplice tag
Ecco un esempio. mysum
è il tag. myincrease
è il filtro. foobar
è una variabile e voglio passare foobar|myincrease
a mysum
.
Il modello:
{% mysum foobar|myincrease 1 2 %}
dà l'errore:
TemplateSyntaxError at/
Caught VariableDoesNotExist while rendering: Failed lookup for key [foobar|myincrease] in ...
Il tag:
@register.simple_tag
def mysum(a, b, c):
return a + b + c
Il filtro:
@register.filter
def myincrease(num):
return num + 1
Ho lavorato attorno al mio problema originale usando altri approcci. Ma mi sto ancora chiedendo se questo è di progettazione, o un mio errore, o un insetto di django, o qualcosa che è stato trascurato.
Penso che chiamare qualcosa come compile_filter
nell'implementazione decoratore simple_tag
lo farebbe.
Hai trovato una risposta da solo? Sto affrontando lo stesso problema ^^ –
Scusa, non me lo ricordo abbastanza ora. Penso di aver finito per usare la soluzione alternativa. – jsz
Sembra un problema specifico del django: riproducibile in 1.3.1, funziona in 1.4.1. – seeg