Как получить SelectDateWidget в Django для отображения разных параметров «Year»

#html #django #django-forms

#HTML #django #django-forms

Вопрос:

 class PersonalForm(ModelForm):
    class Meta:
        model = InfoPersonal
        widgets = {'dateofbirth' :  SelectDateWidget()}
  

Простая реализация дает выпадающий список за год, начиная с 2011. Я бы предпочел, чтобы мои пользователи не были новорожденными. Как мне это настроить?

Ответ №1:

Вы можете передать years аргумент со списком лет в любом порядке. Например

 SelectDateWidget(years=range(1950, 2012))
  

Комментарии:

1. Также не могли бы вы знать, как удалить этот «Необязательный параметр», который появляется в выпадающем списке, например, я бы хотел, чтобы он открывался с 1 января 1900 года?

2. @Sussagittikasusa Вы можете добавить в defalut=%yourdate% поле dateofbirth вашей модели. Или, если это только для этой формы (или вам не нужно значение по умолчанию в модели), вы можете переопределить __init__ метод form, установив начальный: self.fields['dateofbirth'].initial = %yourdate%