जवाबों:
Django बिल्ट-इन टेम्पलेट फ़िल्टर का उपयोग करके शीर्षक
{{ "myname"|title }}
मुझे पता है कि थोड़ी देर हो चुकी है, लेकिन आप कैफफर्स्ट का उपयोग कर सकते हैं :
{{ "waiting for action"|capfirst }}
यह "कार्रवाई की प्रतीक्षा में" परिणाम होगा
यह समाधान भी काम करता है यदि आपके पास कई शब्द हैं (उदाहरण के लिए सभी कैप्स):
{{ "ALL CAPS SENTENCE"|lower|capfirst }}
यह "सभी कैप वाक्य" का उत्पादन करेगा।
title
फिल्टर ठीक काम करता है, लेकिन अगर आप की तरह एक बहुत-शब्द स्ट्रिंग है: "some random text"
, परिणाम होने जा रहा है "Some Random Text"
। यदि आप वास्तव में चाहते हैं कि पूरे स्ट्रिंग का केवल पहला अक्षर ऊपर करना है, तो आपको अपना स्वयं का कस्टम फ़िल्टर बनाना चाहिए।
आप इस तरह से एक फ़िल्टर बना सकते हैं (इस डॉक से कस्टम टेम्प्लेट फ़िल्टर बनाने के निर्देशों का पालन करें - यह काफी सरल है):
# yourapp/templatetags/my_filters.py
from django import template
register = template.Library()
@register.filter()
def upfirstletter(value):
first = value[0] if len(value) > 0 else ''
remaining = value[1:] if len(value) > 1 else ''
return first.upper() + remaining
फिर, आपको my_filters फ़ाइल को अपने टेम्पलेट पर लोड करना चाहिए, और वहां परिभाषित फ़िल्टर का उपयोग करना चाहिए:
{% load my_filters %}
...
{{ myname|upfirstletter }}
|capfirst
सिर्फ {{myname | capfirst}}
Django में टेम्प्लेट फ़िल्टर कैपफर्स्ट किसी दिए गए स्ट्रिंग के पहले अक्षर को कैपिटल करें।