2011-09-23 14 views
5

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.

+0

Hai trovato una risposta da solo? Sto affrontando lo stesso problema ^^ –

+0

Scusa, non me lo ricordo abbastanza ora. Penso di aver finito per usare la soluzione alternativa. – jsz

+1

Sembra un problema specifico del django: riproducibile in 1.3.1, funziona in 1.4.1. – seeg

risposta

Problemi correlati