plantillas - templates django python
Haz la primera letra en mayúscula dentro de una plantilla django (4)
El filtro de title
funciona bien, pero si tiene una cadena de varias palabras como: "some random text"
, el resultado será "Some Random Text"
. Si lo que realmente desea es escribir en mayúscula solo la primera letra de la cadena completa, debe crear su propio filtro personalizado.
Puede crear un filtro como este (siga las instrucciones sobre cómo crear un filtro de plantilla personalizado a partir de este doc , 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 }}
Estoy sacando un nombre de una base de datos que se almacena como myname
. ¿Cómo puedo mostrar esto dentro de una plantilla de Django como Myname
, con la primera letra en mayúscula?
Esta solución también funciona si tiene varias palabras (por ejemplo, mayúsculas):
{{ "ALL CAPS SENTENCE"|lower|capfirst }}
Esto generará una "sentencia de mayúsculas".
Sé que es un poco tarde, pero puedes usar capfirst :
{{ "waiting for action"|capfirst }}
Esto dará como resultado "Esperando acción"
Utilizando el filtro de plantillas integradas de Django llamado title
{{ "myname"|title }}