Risposte:
Utilizzando il filtro del modello integrato di Django chiamato titolo
{{ "myname"|title }}
So che è un po 'tardi, ma puoi usare capfirst :
{{ "waiting for action"|capfirst }}
Ciò risulterà in "In attesa di azione"
Questa soluzione funziona anche se hai più parole (ad esempio tutte maiuscole):
{{ "ALL CAPS SENTENCE"|lower|capfirst }}
Questo produrrà "Frase tutto maiuscolo".
Il title
filtro funziona bene, ma se hai una stringa di molte parole come:, "some random text"
il risultato sarà "Some Random Text"
. Se quello che vuoi veramente è mettere in maiuscolo solo la prima lettera dell'intera stringa, dovresti creare il tuo filtro personalizzato.
Puoi creare un filtro come questo (segui le istruzioni su come creare un filtro modello personalizzato da questo documento - è abbastanza semplice):
# 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
Quindi, dovresti caricare il file my_filters nel tuo modello e usare il filtro definito lì:
{% load my_filters %}
...
{{ myname|upfirstletter }}
|capfirst
Basta usare {{myname | capfirst}}
In Django il filtro del template capfirst capazializza la prima lettera di una data stringa.