DateTime Felder werden immer auch Sekunden speichern; Sie können die Vorlage jedoch einfach so anzeigen, dass nur die Stunden und Minuten mit dem time
-Filter angezeigt werden:
wobei "Wert" die Variable ist, die das Datum / Uhrzeit-Feld enthält.
Natürlich können Sie auch auf andere Tricks zurückgreifen, wie zum Beispiel das Ausschneiden der Sekunden aus dem Feld beim Speichern; Es würde nur eine kleine Änderung an dem Code in der Ansicht erfordern, die das Formular behandelt, um etwas wie folgt zu tun:
%Vor%(Hinweis: Dies ist ein hässlicher und ungeprüfter Code, nur um die Idee zu geben!)
Schließlich sollten Sie beachten, dass der Admin immer noch die Sekunden im Feld anzeigen wird.
Es sollte jedoch keine große Sorge sein, da Admin nur von einer Art von Benutzern verwendet werden sollte, die angewiesen werden können, diesen Teil des Feldes nicht zu verwenden
Falls Sie auch den Admin patchen möchten, können Sie dem Formular immer noch Ihr eigenes Widget zuweisen und somit den Admin verwenden. Das würde natürlich einen erheblichen zusätzlichen Aufwand bedeuten.
Also ich denke, die vorgeschlagene und akzeptierte Lösung ist nicht optimal, weil mit:
%Vor%Für ein SplitDateTimeField in meinem Fall, aber für Sie nur in TimeWidget ändern.
Ich hoffe, es hilft auch anderen Menschen.
TimeField-Modell
in Vorlage
Wird angezeigt
%Vor%
Wird nicht angezeigt
%Vor%Django 1.4.1
Tags und Links django django-models time