Câu trả lời:
Sử dụng bộ lọc mẫu tích hợp sẵn Django được gọi là tiêu đề
{{ "myname"|title }}
Tôi biết là hơi muộn, nhưng bạn có thể sử dụng capfirst :
{{ "waiting for action"|capfirst }}
Điều này sẽ dẫn đến "Đang chờ hành động"
Giải pháp này cũng hoạt động nếu bạn có nhiều từ (ví dụ: tất cả các chữ hoa):
{{ "ALL CAPS SENTENCE"|lower|capfirst }}
Điều này sẽ xuất ra "Tất cả các câu viết hoa".
Bộ title
lọc hoạt động tốt, nhưng nếu bạn có một chuỗi nhiều từ như "some random text"
:, kết quả sẽ như vậy "Some Random Text"
. Nếu những gì bạn thực sự muốn là chỉ viết hoa chữ cái đầu tiên của toàn bộ chuỗi, bạn nên tạo bộ lọc tùy chỉnh của riêng mình.
Bạn có thể tạo một bộ lọc như thế này (làm theo hướng dẫn về cách tạo bộ lọc mẫu tùy chỉnh từ tài liệu này - nó khá đơn giản):
# 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
Sau đó, bạn nên tải tệp my_filters tại mẫu của mình và sử dụng bộ lọc được xác định ở đó:
{% load my_filters %}
...
{{ myname|upfirstletter }}
|capfirst
Chỉ cần sử dụng {{myname | capfirst}}
Trong Django mẫu lọc capfirst capatialize chữ cái đầu tiên của một chuỗi cho trước.