在django模板中创build第一个字母大写
我从一个名为myname
的数据库中取出一个名字。 如何在Django模板中以Myname
显示它,第一个字母是大写字母。
使用称为title的 Django内置模板filter
{{ "myname"|title }}
我知道这有点迟,但是你可以使用capfirst :
{{ "waiting for action"|capfirst }}
这将导致“等待行动”
title
filter工作正常,但如果你有一个多字的string,如"some random text"
,结果将是"Some Random Text"
。 如果你真正想要的只是整个string的第一个字母,你应该创build自己的自定义filter。
你可以像这样创build一个filter(按照如何从这个文档创build一个自定义模板filter的说明 – 这很简单):
# 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文件,并使用在此处定义的filter:
{% load my_filters %} ... {{ myname|upfirstletter }}