创建一个接受浮点数并具有与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,它根本不起作用。
答案 0 :(得分:4)
只需指定"步骤"属性作为窗口小部件属性,这样:
homework = forms.FloatField(required=False, max_value=10, min_value=0, widget=NumberInput(attrs={'id': 'form_homework', 'step': "0.01"}))
答案 1 :(得分:1)
您可以通过将NumberInput包含在表单窗口小部件中并设置步骤属性
来完成此操作homework = forms.FloatField(required=False, max_value=10, min_value=0,
widget=forms.NumberInput(attrs={'id': 'form_homework', 'step': "0.01"}))
与上述答案的不同之处是缺少表单引用与表单的数字输入
答案 2 :(得分:1)
您还可以通过在表单小部件中包含TextInput来实现此目的
TreeMap<Integer, String>(myMapObject)