Django Tempus Dominus: установка формата делает форму недействительной

У меня есть очень простая форма для отправки даты. По умолчанию формат даты - 'yyyy-MM-dd', и форма работает. Однако как только я меняю формат на любой другой (я пробовал False и 'LL'), я получаю сообщение об ошибке при отправке: "Введите действительную дату". Похоже, что при отправке используется формат по умолчанию, а не тот, который я установил. Как мне заставить работать предпочтительный формат?

Вот форма:

class DateForm(forms.Form):
    date_field = forms.DateField(
        required=True,
        label='The Date',
        widget=DatePicker(
            options={
                'minDate': '1900-01-01',
                'maxDate': '2050-12-31',
                'format': 'LL',
            },
        ),
        initial='2001-01-01',
    )

А вот вид:

def date_input(request):
    if request.method == 'POST':
        form = DateForm(request.POST)
        if form.is_valid():
            the_date = form.cleaned_data['date_field']
            print(the_date)
    else:
        form = DateForm()
    return render(request, 'calculators/date-input.html', {
        'form': form,
    })

Решением, по-видимому, является использование input_formats на поле, которое будет содержать формат, указанный на виджете. В моем случае я использовал 'MMM D, YYYY' на виджете и input_formats=['%b %d, %Y'].

Вернуться на верх