在django模板中创build第一个字母大写

我从一个名为myname的数据库中取出一个名字。 如何在Django模板中以Myname显示它,第一个字母是大写字母。

使用称为title的 Django内置模板filter

 {{ "myname"|title }} 

我知道这有点迟,但是你可以使用capfirst :

 {{ "waiting for action"|capfirst }} 

这将导致“等待行动”

titlefilter工作正常,但如果你有一个多字的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 }}