2012-12-14 9 views
6

मैं कर रहा हूँ निम्नलिखित:स्ट्रिंग के अंतिम 3 अक्षरों निकालें में Django टेम्पलेट [: -3]

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

मैं उत्पादन के लिए रैपिंग शून्य से पिछले 3 पत्र में सभी स्ट्रिंग चाहते हैं, लेकिन एक प्राप्त कर रहा हूँ:

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

कोई विचार क्या गलत है/यह कैसे करें कृपया? धन्यवाद,

उत्तर

16

तुम बस टुकड़ा फिल्टर का उपयोग कर सकते हैं:

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

ठीक है कि काम करता है, लेकिन क्यों [: -3] काम नहीं करेगा? – rix

+3

क्योंकि यह Django के टेम्पलेटिंग इंजन है - जो टैग पर कुछ वाक्यविन्यास बाधाओं को लागू करता है और आप इसे बिल्कुल पाइथन के रूप में नहीं देख सकते हैं - असल में, यह सुनिश्चित करने के लिए डिज़ाइन किया गया है कि आप नहीं करते हैं ... हालांकि अधिकांश बिल्टिन फ़िल्टर को देखने लायक है .... –

+0

एक आकर्षण की तरह काम किया –

1

आप इसके लिए slice फ़िल्टर चाहते हैं।

0

{{ variable|slice:":-3" }} यह करना होगा।

संबंधित मुद्दे