Yanıtlar:
Başlık adı verilen Django yerleşik şablon filtresini kullanma
{{ "myname"|title }}
Biraz geç olduğunu biliyorum, ama capfirst'i kullanabilirsiniz :
{{ "waiting for action"|capfirst }}
Bu, "İşlem bekleniyor" ile sonuçlanacaktır
Bu çözüm, birden çok sözcüğünüz varsa da işe yarar (örneğin tümü büyük harf):
{{ "ALL CAPS SENTENCE"|lower|capfirst }}
Bu, "Tümü büyük harf" sonucunu verir.
title
Filtre cezası çalışır, ancak böyle bir çoğu-kelime dize varsa: "some random text"
, sonuç olacak "Some Random Text"
. Gerçekten istediğiniz şey tüm dizenin yalnızca ilk harfini büyük harfle yazmaksa , kendi özel filtrenizi oluşturmalısınız.
Bunun gibi bir filtre oluşturabilirsiniz (bu dokümandan özel bir şablon filtresinin nasıl oluşturulacağına ilişkin talimatları izleyin - oldukça basittir):
# 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
Ardından, şablonunuza my_filters dosyasını yüklemeli ve orada tanımlanan filtreyi kullanmalısınız:
{% load my_filters %}
...
{{ myname|upfirstletter }}
|capfirst
Sadece Django'da{{myname | capfirst}}
şablon filtresi kullanın, önce belirli bir dizenin ilk harfini capatialize edin.