我了解如何使用form.cleaned_data['<field>']
获取字段值,但如何访问动态创建的字段?
我的表单中包含以下代码:
class DevicesForm(forms.Form):
prefix = 'deviceform'
device_type = forms.ModelMultipleChoiceField(
queryset = Device.objects.all(), # not optional, use .all() if unsure
widget = forms.CheckboxSelectMultiple,
)
def __init__(self, *args, **kwargs):
super(DevicesForm, self).__init__(*args, **kwargs)
self.fields['device_type'].empty_label = None
for i in Device.objects.all():
self.fields["%s build:" % i] = forms.CharField()
如何在POST后访问用户在Charfield()
中输入的数据?
答案 0 :(得分:0)
正如您在问题中所说,您可以从表单cleaned_data
获取值。
if form.is_valid():
for i in Device.objects.all():
print form.cleaned_data["%sbuild" % i]
我建议您不要在字段名称中使用空格或:
,我认为这可能会导致您遇到问题。如果要自定义表单的显示方式,请设置标签
self.fields["%sbuild" % i] = forms.CharField(label="%s build" % i)