我试图创建一个步长为0.5的NumberInput小部件,其格式如下所示:
widgets = {
"hours_per_day": widgets.NumberInput(attrs={'step': '0.5'})
}
但是,始终使用属性step为0.1来呈现模板。此小部件适用于ModelForm的DecimalField。为什么step属性不会改变?
以下是表单中的(有用)代码:
class Registration_form(ModelForm):
class Meta:
model = Registration
fields = [
"hours_per_day",
]
widgets = {
"hours_per_day": widgets.NumberInput(attrs={'step': '1'})
}
答案 0 :(得分:5)
尝试将NumberInput
定义为TextInput
,然后逐步0.5
:
from django.forms.widgets import TextInput
class NumberInput(TextInput):
input_type = 'number'
#Usage
widgets = (
'number_field': NumberInput(attrs={'min': '0', 'max': '10', 'step': '0.5'}),
)