2012-12-14 14 views
6

robię co następuje:Usuń ostatnie 3 litery napisu w Django szablonu [: -3]

{% for wrapping in wrappings %} //array of strings 
<input type="radio" value="{{ wrapping[:-3] }}" etc 

Chcę wyjściu cały ciąg w opakowaniu minus 3 ostatnie litery, ale jestem recieving:

TemplateSyntaxError: Could not parse the remainder: '[:-3]' from 'wrapping[:-3].

Każdy pomysł, co jest nie tak/jak to zrobić, proszę? Dziękujemy,

Odpowiedz

16

można po prostu użyć filtru plasterek:

{{ wrapping|slice:":-3" }} 
+0

OK działa, ale dlaczego [: -3] nie zadziała? – rix

+3

Ponieważ jest to szablonowy mechanizm Django - który nakłada pewne ograniczenia składni na znaczniki i nie można go traktować dokładnie tak jak Pythona - w rzeczywistości jest zaprojektowany, aby upewnić się, że nie ... Warto jednak przyjrzeć się większości wbudowanych filtrów .... –

+0

pracował jak urok –

0

{{ variable|slice:":-3" }} by to zrobić.