我见过很多类似这样的问题,但并不是专门针对通用类 View 的。我收到错误“输入有效日期”,但仅当我将日期设置为 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',
});
});
谢谢
最佳答案
而不是传递 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')
关于javascript - 输入 django 表单中收到的有效日期错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60108961/