Avec Jinja2, comment puis-je formater un champ de date ? Je sais qu'en Python, je peux le faire simplement :
print(car.date_of_manufacture.strftime('%Y-%m-%d'))
Mais comment puis-je formater la date dans Jinja2 ?
Avec Jinja2, comment puis-je formater un champ de date ? Je sais qu'en Python, je peux le faire simplement :
print(car.date_of_manufacture.strftime('%Y-%m-%d'))
Mais comment puis-je formater la date dans Jinja2 ?
Utilisateurs de Google App Engine : Si vous passez de Django à Jinja2, et que vous cherchez à remplacer le filtre de date, notez que les codes de formatage des % sont différents.
Les codes de strftime % sont ici : http://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior
Dans flask, avec babel, j'aime faire ça :
@app.template_filter('dt')
def _jinja2_filter_datetime(date, fmt=None):
if fmt:
return date.strftime(fmt)
else:
return date.strftime(gettext('%%m/%%d/%%Y'))
utilisé dans le modèle avec {{mydatetimeobject|dt}}
donc non avec babel vous pouvez spécifier vos différents formats dans messages.po comme ceci par exemple :
#: app/views.py:36
#, python-format
msgid "%%m/%%d/%%Y"
msgstr "%%d/%%m/%%Y"
J'utilise ce filtre, il est en espagnol mais vous pouvez changer les noms selon vos besoins.
@app.template_filter('datetime')
def date_format(value):
months = ('Enero','Febrero',"Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre")
month = months[value.month-1]
hora = str(value.hour).zfill(2)
minutos = str(value.minute).zfill(2)
return "{} de {} del {} a las {}:{}hs".format(value.day, month, value.year, hora, minutos)
Il existe une extension jinja2 que vous pouvez utiliser, il suffit d'installer pip ( https://github.com/hackebrot/jinja2-time )
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.