forms.py
class ContractForm(forms.ModelForm):
date_sign = forms.DateField(widget=forms.SelectDateWidget())
Выводит:

Вопросы:
1. Как сделать чтобы месяцы были на русском?2. Как убрать значение по-умолчанию? Можно сделать чтобы была "пустая" дата? Попробовал добавить initial=None - не помогло.
3.
forms.py
class ContractForm(forms.ModelForm):
date_from = forms.DateField(widget=forms.DateInput, required=False)
У input тип text,
как сделать type=date?
views.py
form = ContractForm()
template.html
<form> {% csrf_token %}
{{ form.as_p }}
</form>
ОТВЕТ
По 3-му вопросу: нужно создать свой виджет
stackoverflow или сразу указать
widget=forms.DateInput(attrs={'type': 'date'})
По 1-му нужно создать свои MONTHS и передать в качестве параметра
По 2-му указать empty_label
Подсмотрено
тут