143

として保存されているデータベースから名前を取得していますmyname。これを Django テンプレート内で として表示するにはどうすればよいですかMyname。最初の文字は大文字です。

4

7 に答える 7

261

titleと呼ばれる Django 組み込みテンプレート フィルターの使用

{{ "myname"|title }}
于 2013-01-10T22:23:06.837 に答える
8

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 }}
于 2013-01-11T02:48:38.233 に答える