0
У меня есть простой пользовательский NumberField:Пользовательские HTML5 NumberField всегда терпит неудачу проверки
class NumberInput(forms.widgets.Input):
input_type = 'number'
class NumberField(forms.DecimalField):
def __init__(self, *args, **kwargs):
self.widget = kwargs.get('widget', NumberInput)
self.min_value = kwargs.get('min', 0)
self.max_value = kwargs.get('max', 10)
self.step = kwargs.pop('step', 1)
super(NumberField, self).__init__(*args, **kwargs)
def widget_attrs(self, widget):
attrs = super(NumberField, self).widget_attrs(widget)
if self.min_value is not None:
attrs['min'] = self.min_value
if self.max_value is not None:
attrs['max'] = self.max_value
if self.step is not None:
attrs['step'] = self.step
return attrs
И я использую его в форме, например:
class TimeLog
time = NumberField(min_value = '0', max_value = '100000', step = '0.25')
Каждый раз, когда я пытаюсь представить его, я получаю та же ошибка, независимо от ввода:
Ensure this value is greater than or equal to 0.
элемент на странице, безусловно, имеет действительное значение:
<input step="0.25" name="time" min="0" max="100000" type="number" id="id_time" value="0.25">
В чем причина этого признака недействительности?
Человек, я чувствую себя глупо. –