Wie kann ich das Standardformat für Django-Datumsvorlagen ändern?


100

Ich habe Daten im ISO 8601-Format in der Datenbank %Y-%m-%d. Wenn das Datum jedoch an die Vorlage weitergegeben wird, wird es wie folgt angezeigt Oct. 16, 2011.

Gibt es eine Möglichkeit, das Format nach Belieben zu bearbeiten?

Antworten:



274

In Ihrer Vorlage können Sie den Django- dateFilter verwenden. Z.B:

<p>Birthday: {{ birthday|date:"M d, Y" }}</p>

Gibt:

Geburtstag: 29. Januar 1983

Weitere Formatierungsbeispiele in den Datumsfilterdokumenten .


Ich denke, dies funktioniert nur, wenn Datum als Datum / Uhrzeit-Objekt angegeben wird. Was ist, wenn es sich nur um eine Zeichenfolge handelt, die aus der Ansicht übergeben wurde?
Mohammed Shareef C

2
Für eine beliebige Zeichenfolge, die ein Datum / eine Uhrzeit enthält, würde ich sie wahrscheinlich im Ansichtscode in eine Python-Datums- / Uhrzeitangabe analysieren. (Oder wenn möglich sogar früher - überall dort, wo diese Datumszeichenfolge zum ersten Mal in meinem Code eintrifft.) Wenn Sie jedoch wirklich Zeichenfolgen verwenden möchten, um Datumsangaben an Ihre Django-Vorlagen zu übergeben, ist diese Antwort hilfreich.
Medmunds

Perfektes Beispiel für die Verwendung in der Vorlagendatei.
Vinod Patidar


20

Verwenden Sie einfach dies:

{{you_date_field|date:'Y-m-d'}}

Dies wird so etwas wie 2016-10-16 zeigen . Sie können das Format beliebig verwenden.


8

Um das Datumsformat in views.py zu ändern und es dann der Vorlage zuzuweisen.

# get the object details 
home = Home.objects.get(home_id=homeid)

# get the start date
_startDate = home.home_startdate.strftime('%m/%d/%Y')

# assign it to template 
return render_to_response('showme.html' 
                                        {'home_startdate':_startDate},   
                                         context_instance=RequestContext(request) )  


6

Wenn Sie ein kurzes Datum und eine kurze Uhrzeit (11/08/2018 03:23 Uhr) anzeigen müssen, können Sie dies folgendermaßen tun:

{{your_date_field|date:"SHORT_DATE_FORMAT"}} {{your_date_field|time:"h:i a"}}

Details zu diesem Tag hier und mehr zu Daten gemäß dem angegebenen Format hier

Beispiel:

<small class="text-muted">Last updated: {{your_date_field|date:"SHORT_DATE_FORMAT"}} {{your_date_field|time:"h:i a"}}</small>
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.