【问题标题】:Enter a valid date error received in django form输入以 django 形式收到的有效日期错误
【发布时间】:2020-05-23 07:48:29
【问题描述】:

我见过很多这样的问题,但不是专门针对通用类视图的。我收到错误“输入有效日期”,但仅当我将日期设置为 24/02/1992 时,例如因为它需要月/日/年。如果我将它设置为 1992 年 2 月 2 日,它可以工作。我需要它来接受日/月/年。

我有一个这样的 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',
    });
});

谢谢

【问题讨论】:

    标签: javascript python django forms


    【解决方案1】:

    您应该在表单的字段中设置,而不是将 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')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-29
      • 1970-01-01
      • 1970-01-01
      • 2018-09-19
      相关资源
      最近更新 更多