Введите правильную дату ошибки, полученную в форме django - PullRequest
0 голосов
/ 07 февраля 2020

Я видел много вопросов, подобных этому, но не специально для общих c представлений классов. Я получаю сообщение об ошибке «Введите правильную дату», но только когда я устанавливаю дату 24/02/1992, например, потому что она принимает месяц / день / год. Если я установлю это на 02.02.1992, это работает. Мне нужно принять день / месяц / год.

У меня есть такой CreateView:

class ContractGenerateView(CreateView):
    model = Prestamo
    form_class = PrestamoFormCreate
    template_name = 'usuarios/generateContract.html'

    def get_context_data(self, **kwargs):
        data = super(ContractGenerateView, self).get_context_data(**kwargs)
        data['form'].fields['fecha_primera_cuota'].widget.attrs = {'class': 'datepicker_primera_cuota'}
        data['form'].fields['fecha_primera_cuota'].widget.format = '%d/%m/%Y'
        data['form'].fields['fecha_primera_cuota'].input_formats = ['%d/%m/%Y']

с простой формой

class PrestamoFormCreate(forms.ModelForm):
    class Meta:
        model = Prestamo
        fields = (
        'moneda', 'partner', 'fecha_primera_cuota', 'frecuencia', 'plazo_mensual', 'fecha_desembolso',
     'cupo', 'porcentaje_cuota_inicial', 'interest_rate', 'interes_moratorio', 'fee_abaco', 'cuota', 'fecha_final_contrato',
              'metodo_pago')

и простой javascript в моем шаблоне:

$(function () {
    $(".datepicker_primera_cuota").datetimepicker({
        timepicker:false,
        format: 'd/m/Y',
    });
});

Спасибо

1 Ответ

1 голос
/ 07 февраля 2020

Вместо передачи input_formats в get_context_data вы должны указать в поле формы:

 class PrestamoFormCreate(forms.ModelForm):
    fecha_primera_cuota = forms.DateTimeField(label="Date", input_formats=['%d/%m/%Y'])
    class Meta:
        model = Prestamo
        fields = (
        'moneda', 'partner', 'fecha_primera_cuota', 'frecuencia', 'plazo_mensual', 'fecha_desembolso',
     'cupo', 'porcentaje_cuota_inicial', 'interest_rate', 'interes_moratorio', 'fee_abaco', 'cuota', 'fecha_final_contrato',
              'metodo_pago')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...