Réponses:
Utilisation du filtre de modèle intégré Django appelé title
{{ "myname"|title }}
Je sais qu'il est un peu tard, mais vous pouvez utiliser capfirst :
{{ "waiting for action"|capfirst }}
Cela se traduira par "En attente d'action"
Cette solution fonctionne également si vous avez plusieurs mots (par exemple en majuscules):
{{ "ALL CAPS SENTENCE"|lower|capfirst }}
Cela affichera "All caps phrase".
Le title
filtre fonctionne bien, mais si vous avez une chaîne de plusieurs mots comme:, "some random text"
le résultat sera "Some Random Text"
. Si vous voulez vraiment mettre en majuscule uniquement la première lettre de toute la chaîne, vous devez créer votre propre filtre personnalisé.
Vous pouvez créer un filtre comme celui-ci (suivez les instructions pour créer un filtre de modèle personnalisé à partir de ce document - c'est assez 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
Ensuite, vous devez charger le fichier my_filters dans votre modèle et utiliser le filtre défini ici:
{% load my_filters %}
...
{{ myname|upfirstletter }}
|capfirst
Cela a fonctionné pour moi dans la variable de modèle.
{{ user.username|title }}
Si l'utilisateur est "al hasib" alors il retournera "Al Hasib"
ou
{{ user.username|capfirst }}
Si l'utilisateur est 'hasib' alors le dernier retournera "Hasib"
Les deux ressemblent à quelque chose, mais il y a quelques différences.
Il suffit d'utiliser {{myname | capfirst}}
dans Django le modèle de filtre capfirst capatialize la première lettre d'une chaîne donnée.