2014-04-21 8 views
21

मैं ऊपरी मामले में एक जिन्जा टेम्पलेट में एक स्ट्रिंग को बदलने की कोशिश कर रहा हूं जिस पर मैं काम कर रहा हूं।Jinja2 में स्ट्रिंग से अपरकेस/लोअरकेस को कैसे परिवर्तित करें?

template documentation में, मैं पढ़ें:

{% if student.departament == "Academy" %} 
    Academy 
{% elif upper(student.department) != "MATHS DEPARTMENT" %} 
    Maths department 
{% endif %} 

लेकिन मैं इस त्रुटि हो रही है:

upper(s) 
    Convert a value to uppercase. 

तो मैं इस कोड लिखा

UndefinedError: 'upper' is undefined 

तो, आप कैसे करना है Jinja2 में एक स्ट्रिंग को अपरकेस में कनवर्ट करें?

+0

गूगल के लिए की तरह फिल्टर, छोटे के लिए त्रुटि है: 'jinja2.exceptions.UndefinedError: 'कम' undefined' – Jonathan

उत्तर

40

फिल्टर |filter syntax साथ किया जाता है:

{% elif student.department|upper != "MATHS DEPARTMENT" %} 
    Maths department 
{% endif %} 

या आप str.upper() method उपयोग कर सकते हैं:

{% elif student.department.upper() != "MATHS DEPARTMENT" %} 
    Maths department 
{% endif %} 

जिंजा वाक्य रचना Python- की तरह, न कि वास्तविक अजगर है। :-)

2

और आप उपयोग कर सकते हैं: इस

{% filter upper %} 
    UPPERCASE 
{% endfilter %} 
+0

है लेकिन यह नहीं दूँगी आप परिणाम की तुलना करें; परिणाम * इंटरपोलेट्स * परिणाम। –

+0

हाँ यकीन है कि केवल इसे इंटरपोलेट करता है –

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