class SelectDateWidget
[source]
Wrapper around three Select
widgets: one each for month, day, and year.
Takes several optional arguments:
-
years
-
An optional list/tuple of years to use in the “year” select box. The default is a list containing the current year and the next 9 years.
-
months
-
An optional dict of months to use in the “months” select box.
The keys of the dict correspond to the month number (1-indexed) and the values are the displayed months:
MONTHS = { 1:_('jan'), 2:_('feb'), 3:_('mar'), 4:_('apr'), 5:_('may'), 6:_('jun'), 7:_('jul'), 8:_('aug'), 9:_('sep'), 10:_('oct'), 11:_('nov'), 12:_('dec') }
-
empty_label
-
If the
DateField
is not required,SelectDateWidget
will have an empty choice at the top of the list (which is---
by default). You can change the text of this label with theempty_label
attribute.empty_label
can be astring
,list
, ortuple
. When a string is used, all select boxes will each have an empty choice with this label. Ifempty_label
is alist
ortuple
of 3 string elements, the select boxes will have their own custom label. The labels should be in this order('year_label', 'month_label', 'day_label')
.# A custom empty label with string field1 = forms.DateField(widget=SelectDateWidget(empty_label="Nothing")) # A custom empty label with tuple field1 = forms.DateField( widget=SelectDateWidget( empty_label=("Choose Year", "Choose Month", "Choose Day"), ), )
This widget used to be located in the django.forms.extras.widgets
package. It is now defined in django.forms.widgets
and like the other widgets it can be imported directly from django.forms
.
Please login to continue.