2016-08-05 35 views
2

Ich habe ein benutzerdefiniertes Widget mit Datumsfeldern und Zeitfeldern, D/M/Y, H/M(24hour). Jetzt, bei create event, wo diese verwendet werden, kommt sie mit ihrem empty_label Wert, den ich eingerichtet habe, auf.Hinzufügen des aktuellen Datums zu benutzerdefinierten Widgetfeldern

Ich möchte diesen Empty_value der aktuelle Tag, aktueller Monat sein. ABER ich weiß nicht, ob diese gespeichert werden, wenn der Benutzer die Optionen allein lässt und auf Speichern klickt.

Also ich denke, meine Frage ist, wie würde ich das aktuelle Datum/Uhrzeit in die Auswahlfelder als Option setzen sie ohne sie zu berühren

Hier wählen kann, ist Teil des Codes, die ich denke, muss sein bearbeitet ...

class SelectDateTimeWidget(forms.MultiWidget): 
    supports_microseconds = False 

    def __init__(self, attrs=None, date_format=None, time_format=None): 
     widgets = (SelectDateWidget(empty_label=("Year", "Month", "Day")), 
        SelectTimeWidget(use_seconds=False)) 
     super(SelectDateTimeWidget, self).__init__(widgets, attrs) 

Antwort

1

Was Sie wollen, ist nicht das aktuelle Datum als „leeres Etikett“ setzen, dies keinen Sinn machen würde. Leer ist leer, kein aktuelles Datum. Was Sie tun möchten, ist das aktuelle Datum standardmäßig ausgewählt, die von Form.initial getan wird:

from django.utils import timezone 

form = YourForm(initial={'the_date_field': timezone.now()}) 
+0

, in der Datei würde dies angezeigt werden soll? –

+0

Wo immer Sie Ihr Formular instanziieren. Wahrscheinlich in einer Ihrer Ansichten. –