Respuestas:
Usando el filtro de plantilla incorporado de Django llamado título
{{ "myname"|title }}
Sé que es un poco tarde, pero puedes usar capfirst :
{{ "waiting for action"|capfirst }}
Esto resultará en "Esperando acción"
Esta solución también funciona si tiene varias palabras (por ejemplo, todas en mayúsculas):
{{ "ALL CAPS SENTENCE"|lower|capfirst }}
Esto generará una "oración en mayúsculas".
El title
filtro funciona bien, pero si tiene una cadena de muchas palabras como:, "some random text"
el resultado será "Some Random Text"
. Si lo que realmente desea es poner en mayúscula solo la primera letra de toda la cadena, debe crear su propio filtro personalizado.
Puede crear un filtro como este (siga las instrucciones sobre cómo crear un filtro de plantilla personalizado de este documento ; es bastante simple):
# 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
Luego, debe cargar el archivo my_filters en su plantilla y usar el filtro definido allí:
{% load my_filters %}
...
{{ myname|upfirstletter }}
|capfirst
Simplemente use {{myname | capfirst}}
En Django el filtro de plantilla capfirst capatialize la primera letra de una cadena dada.