Jquery 使用Django,下拉菜单的所选选项不会传递给服务器
我正在使用Jquery 使用Django,下拉菜单的所选选项不会传递给服务器,jquery,django,drop-down-menu,django-forms,jquery-select2,Jquery,Django,Drop Down Menu,Django Forms,Jquery Select2,我正在使用Django和jQuery 我的表单.py: CARPET_TYPE = ( ('', 'Select a carpet type'), ('NRM', 'Normal'), ('SLK', 'Silk'), ('WOL', 'Wool'), ('PER', 'Persian') ) class CalculationForm(forms.Form): carpet_types = forms.ChoiceField(initial=
Django
和jQuery
我的表单.py
:
CARPET_TYPE = (
('', 'Select a carpet type'),
('NRM', 'Normal'),
('SLK', 'Silk'),
('WOL', 'Wool'),
('PER', 'Persian')
)
class CalculationForm(forms.Form):
carpet_types = forms.ChoiceField(initial='', choices=CARPET_TYPE, label='Carpet Types',)
length = forms.FloatField(min_value=0)
width = forms.FloatField(min_value=0)
def pick_up(request):
# If this is a GET request create the calculation form
if request.method == 'GET':
calculation_form_pickup = CalculationForm()
else:
calculation_form_pickup = CalculationForm(request.POST)
if calculation_form_pickup.is_valid():
carpet_type = calculation_form_pickup.cleaned_data['dd-carpets']
length = calculation_form_pickup.cleaned_data['length']
width = calculation_form_pickup.cleaned_data['width']
Mycalculation\u form.html
(在Myindex.html
中用作块内容
):
现在,当我选择地毯类型并在表单中插入宽度和长度时,如果执行if calculation\u form\u pickup.is\u valid()
时,我会得到一个错误,即需要地毯类型
字段。检查POST
数据时,我可以看到地毯类型
字段未“清理”。好像我没有在下拉菜单中选择任何内容
我做错了什么
编辑:
我忘了提到这个计算器是基于一个使用
select2
库的引导模板的。您给了select一个名称属性“dd地毯”,而不是“地毯类型”
def pick_up(request):
# If this is a GET request create the calculation form
if request.method == 'GET':
calculation_form_pickup = CalculationForm()
else:
calculation_form_pickup = CalculationForm(request.POST)
if calculation_form_pickup.is_valid():
carpet_type = calculation_form_pickup.cleaned_data['dd-carpets']
length = calculation_form_pickup.cleaned_data['length']
width = calculation_form_pickup.cleaned_data['width']