81 Stimmen

Wie dateTime in django Vorlage zu formatieren?

Das:

{{ wpis.entry.lastChangeDate|date:"D d M Y" }}

gibt mir (warum?):

2009-07-24 21:45:38.986156 

und ich weiß nicht, wie man den Teil mit der Fraktion überspringt...

In meinem Modell habe ich:

addedDate = models.DateTimeField(default=datetime.now)

233voto

Rockystech Punkte 2796

Das ist genau das, was Sie wollen. Versuchen Sie dies:

{{ wpis.entry.lastChangeDate|date:'Y-m-d H:i' }}

10voto

Coc B. Punkte 655

Sie können dies verwenden:

addedDate = datetime.now().replace(microsecond=0)

5voto

rob Punkte 35132

Ich vermute wpis.entry.lastChangeDate wurde in der Ansicht in eine Zeichenkette umgewandelt, bevor sie in die Vorlage gelangte.

Um diese Hypothese zu überprüfen, können Sie einfach in der Ansicht prüfen, ob sie eine Eigenschaft/Methode hat, die nur Strings haben - wie zum Beispiel wpis.entry.lastChangeDate.upper und sehen Sie dann, ob die Vorlage abstürzt.

Sie können auch Ihre eigene benutzerdefinierter Filter und verwenden Sie es zu Debugging-Zwecken, indem Sie es das Objekt untersuchen lassen und die Ergebnisse der Untersuchung auf die Seite oder einfach auf die Konsole schreiben. Es wäre in der Lage, das Objekt zu inspizieren und zu prüfen, ob es wirklich ein DateTimeField ist.

Eine Anmerkung in eigener Sache: Warum verwenden Sie nicht models.DateTimeField(auto_now_add=True) um den Zeitpunkt der Erstellung festzulegen?

3voto

Rodrigo Camargos Punkte 102

{{ wpis.entry.lastChangeDate|date: "SHORT_DATETIME_FORMAT" }}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X