Ale*_*lla 7 forms django floating-point django-widget
创建接受浮点数并具有与 NumberInput 相同功能的 django 表单字段的最佳方法是什么?我的意思是使用相同的功能是 django 的 NumberInput 在输入旁边有箭头,可以增加或减少数字,它也接受 min_value 和 max_value。如果我使用 TextInput 小部件,我将无法获得此功能。如果我使用 NumberInput 小部件,它将不适用于浮点数:
homework = forms.FloatField(required=False, max_value=10, min_value=0, widget=NumberInput(attrs={'id': 'form_homework'}))

当我单击 + - 按钮时,它不包括浮点数(即 5.5)。此外,如果我想将实际浮点数(作业成绩)设置为初始值(使用 Jquery),它根本不显示浮点数。
欢迎任何建议。
编辑:
如果我做:
class NumberInput(TextInput):
    input_type = 'number'
homework = forms.FloatField(required=False, max_value=10, min_value=0,
    widget=NumberInput(attrs={'id': 'form_homework', 'step': '0.1'}))
'step' 属性有效,但 max_value/min_value 无效。如果我不以这种方式定义 NumberInput 并使用常规的 NumberInput,则它根本不起作用。
您可以通过在表单小部件中包含 NumberInput 并设置步骤属性来做到这一点
homework = forms.FloatField(
    required=False, max_value=10, min_value=0, 
    widget=forms.NumberInput(
        attrs={'id': 'form_homework', 'step': "0.01"}
    )
) 
与上述答案的区别在于缺少表单 NumberInput 的表单引用
只需将“step”属性指定为小部件属性,这样:
homework = forms.FloatField(required=False, max_value=10, min_value=0, widget=NumberInput(attrs={'id': 'form_homework', 'step': "0.01"}))
| 归档时间: | 
 | 
| 查看次数: | 12483 次 | 
| 最近记录: |