我正在尝试制作一个步长为 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'})
}
最佳答案
尝试将 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'}),
)
关于django - 无法覆盖 Django 中 NumberInput 字段的 step 属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24743438/