Jawaban:
Menggunakan filter cetakan bawaan Django yang disebut judul
{{ "myname"|title }}
Saya tahu ini agak terlambat, tetapi Anda dapat menggunakannya capfirst :
{{ "waiting for action"|capfirst }}
Ini akan menghasilkan "Menunggu tindakan"
Solusi ini juga berfungsi jika Anda memiliki banyak kata (misalnya huruf besar semua):
{{ "ALL CAPS SENTENCE"|lower|capfirst }}
Ini akan menampilkan "Kalimat huruf besar semua".
The title
Filter bekerja dengan baik, tetapi jika Anda memiliki string banyak-kata-kata seperti: "some random text"
, hasilnya akan menjadi "Some Random Text"
. Jika yang benar-benar Anda inginkan adalah huruf besar hanya huruf pertama dari keseluruhan string, Anda harus membuat filter kustom Anda sendiri.
Anda dapat membuat filter seperti ini (ikuti petunjuk tentang cara membuat filter template kustom dari dokumen ini - ini cukup sederhana):
# 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
Kemudian, Anda harus memuat file my_filters di template Anda, dan menggunakan filter yang ditentukan di sana:
{% load my_filters %}
...
{{ myname|upfirstletter }}
|capfirst
Ini bekerja untuk saya dalam variabel template.
{{ user.username|title }}
Jika pengguna adalah "al hasib" maka ia akan mengembalikan "Al Hasib"
atau
{{ user.username|capfirst }}
Jika pengguna adalah 'hasib' maka yang terakhir akan mengembalikan "Hasib"
Keduanya terlihat sama tetapi ada beberapa perbedaan.
Cukup gunakan {{myname | capfirst}}
Dalam Django filter cetakan pertama-tama mengatur spasial huruf pertama dari string yang diberikan.