[django] 장고 템플릿 내에서 첫 글자를 대문자로 만들기

으로 저장된 데이터베이스에서 이름을 가져오고 있습니다 myname. 장고 템플릿 안에 Myname첫 글자가 대문자 로 표시되는 방법은 무엇입니까 ?



답변

제목 이라는 Django 기본 제공 템플릿 필터 사용

{{ "myname"|title }}


답변

조금 늦었다는 것을 알고 있지만 capfirst 를 사용할 수 있습니다 .

{{ "waiting for action"|capfirst }}

그러면 “작업 대기 중”이됩니다.


답변

이 솔루션은 여러 단어 (예 : 모두 대문자)가있는 경우에도 작동합니다.

{{ "ALL CAPS SENTENCE"|lower|capfirst }}

“All caps phrase”가 출력됩니다.


답변

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 }}


답변

템플릿 변수에서 나를 위해 일했습니다.

{{ user.username|title }}

사용자가 “al hasib”이면 “Al Hasib”를 반환합니다.

또는

{{ user.username|capfirst }}

사용자가 ‘hasib’이면 마지막 사용자는 “Hasib”를 반환합니다.

둘 다 똑같이 보이지만 약간의 차이가 있습니다.


답변

{{myname | capfirst}}
Django에서 템플릿 필터 capfirst를 사용 하여 주어진 문자열의 첫 글자를 capatialize하십시오.


답변