Python: Wie formatiere ich ein Datum in Jinja2?
Mit Jinja2, wie formatiere ich ein Datum-Feld? Ich weiß in Python kann ich das einfach so machen:
print car.date_of_manufacture.strftime('%Y-%m-%d')
Aber wie formatiere ich das Datum in Jinja2? Danke.
InformationsquelleAutor der Frage Ambrosio | 2011-01-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es zwei Möglichkeiten, es zu tun. Der direkte Ansatz wäre es, einfach anzurufen (und zu drucken) strftime () - Methode in der Vorlage, zum Beispiel
Anderen, ein Stück besserer Ansatz wäre, um zu definieren, Ihre eigenen filter, z.B.:
(Dieser filter basiert auf babel für Gründe hinsichtlich i18n, aber Sie können strftime). Der Vorteil der filter ist, dass Sie schreiben können
welche sieht schöner aus und ist besser zu warten. Ein weiteres gemeinsames filter ist auch die "timedelta" - filter, die bewertet, um so etwas wie "geschrieben vor 8 Minuten". Sie können
babel.dates.format_timedelta
für diese, und registrieren Sie es als filter-ähnlich wie die datetime-Beispiel finden Sie hier.InformationsquelleAutor der Antwort tux21b
Hier ist der filter, den ich am Ende mit für strftime in Jinja2 und Kolben
Und verwenden Sie dann den filter etwa so:
InformationsquelleAutor der Antwort Raj
Ich glaube, Sie haben zu schreiben, Ihre eigenen filter. Es ist eigentlich das Beispiel für benutzerdefinierte Filter in der Dokumentation: http://jinja.pocoo.org/docs/api/#custom-filters
InformationsquelleAutor der Antwort Brian Goldman
Wenn Sie sind den Umgang mit einem niedrigeren Niveau der Zeit-Objekt (die ich oft verwenden nur Ganzzahlen), und nicht wollen, um einen benutzerdefinierten filter schreiben, aus welchem Grund auch immer, ein Ansatz, den ich verwenden, ist das bestehen der strftime Funktion in der Vorlage als variable, wo es aufgerufen werden kann, wo Sie es brauchen.
Beispiel:
Welche dann verwendet werden können, innerhalb
sometemplate.html
:InformationsquelleAutor der Antwort Olly F-G
Google App Engine-Benutzer : Wenn Sie von Django-Jinja2, suchen und ersetzen die filter Datum, beachten Sie, dass die % - Formatierung-codes sind unterschiedlich.
Den strftime % codes sind hier: http://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior
InformationsquelleAutor der Antwort Andrew Murphy
in Fläschchen, mit babel, die ich mag, dies zu tun :
in der Vorlage mit
{{mydatetimeobject|dt}}
also nicht mit babel können Sie die verschiedenen format in den Nachrichten.po wie dieses zum Beispiel :
InformationsquelleAutor der Antwort euri10