2017-12-03 2 views
1

Ich habe ein Modell mit Datefield zählen:Django Vorlage Tagen ab jetzt zu bestimmten Datum

end_date = models.DateField(default=datetime.date.today) 

In der Vorlage muss ich berechnen, wie viele Tage gibt es zum end_date ab jetzt. Ich habe versucht:

{% now "d m Y"|timeuntil:placement.end_date|date:"d m Y" %} 

aber es funktioniert nicht. Wie kann ich bis zu diesem Datum eine Anzahl von Tagen erhalten?

Antwort

1

Es gibt eine Einschränkung bei der Verwendung der Django-Funktionalität in Vorlagen. Sie könnten dies lösen, indem Sie die timesince and timuntil Methoden kombinieren, um die Differenz zwischen zwei Daten zu berechnen. Sie würden jedoch davon profitieren, wenn Sie dies in einer Python-Ansicht tun und dann das Ergebnis an die Vorlage übergeben.

Auf diese Weise können Sie wirklich die Kraft von Datetime nutzen. Also in Ihrem views.py und die spezifische Funktion, die die Vorlage macht, sind dies:

d0 = datetime.now().date() 
d1 = placement.end_date 
delta = d0 - d1 
print delta.days 

können Sie mehr über die Dokumentation für Datum und Uhrzeit lesen here. Jetzt können Sie diese Variable in einem Kontext weiterleiten oder selbst durch die Vorlage gerendert werden

+0

Ich bin vertraut mit Timeuntil Filter, aber ich versuche, die Differenz zwischen dem aktuellen Datum und Placement.end_date zu berechnen. end_date ist immer in der Zukunft (Standard = datetime.date.today ist nur zum Beispiel) – TityBoi

+0

Ich bearbeite meine Antwort dann – Magnus

+1

Kommt das näher an was Sie tun möchten? – Magnus

Verwandte Themen