Django 浮点字段输入
Django Float Field input
创建接受浮点数并具有与 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,它根本不起作用。
只需将 "step" 属性指定为小部件属性,这样:
homework = forms.FloatField(required=False, max_value=10, min_value=0, widget=NumberInput(attrs={'id': 'form_homework', 'step': "0.01"}))
您可以通过在表单小部件中包含 NumberInput 并设置步骤属性来实现此目的
homework = forms.FloatField(required=False, max_value=10, min_value=0,
widget=forms.NumberInput(attrs={'id': 'form_homework', 'step': "0.01"}))
与上述答案的不同之处在于缺少表单的 NumberInput 表单引用
您也可以通过在表单小部件中包含 TextInput 来实现此目的
homework = forms.FloatField(required=False, widget=forms.TextInput(
attrs={'type': 'number','id':'form_homework','min': '0','max':'10','step':'0.01'}))
创建接受浮点数并具有与 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,它根本不起作用。
只需将 "step" 属性指定为小部件属性,这样:
homework = forms.FloatField(required=False, max_value=10, min_value=0, widget=NumberInput(attrs={'id': 'form_homework', 'step': "0.01"}))
您可以通过在表单小部件中包含 NumberInput 并设置步骤属性来实现此目的
homework = forms.FloatField(required=False, max_value=10, min_value=0,
widget=forms.NumberInput(attrs={'id': 'form_homework', 'step': "0.01"}))
与上述答案的不同之处在于缺少表单的 NumberInput 表单引用
您也可以通过在表单小部件中包含 TextInput 来实现此目的
homework = forms.FloatField(required=False, widget=forms.TextInput(
attrs={'type': 'number','id':'form_homework','min': '0','max':'10','step':'0.01'}))