所以我有一个表格,我张贴到一个Django应用程序。字段名如下: 字段[section][name][attr],其中节、名称等可以有任意数量的值。当我尝试访问POST请求中的数据时,这些就是QueryDict中的精确键,因此要访问数据,我必须执行以下操作请求.发布.获取('field[section][name][attr]')。为什么Django不创建层次结构,这样我就可以像
fields = request.POST.getlist('field')
然后用类似的东西从那里走得更深
for section, value in fields:
for field_name, attributes in value:
似乎我必须使用正则表达式来处理表单数据。我错过什么了吗?你知道吗
附加信息:我的字段表单元素定义为:
input type="hidden" name="field[{{ section|underscore|lower }}][{{field.name }}][label]" value="{{ field.label }}"
input type="hidden" name="field[{{ section|underscore|lower }}][{{field.name }}][help]" value="{{ field.help }}"
input type="hidden" name="field[{{ section|underscore|lower }}][{{field.name }}][kind]" value="{{ field.kind }}"
因此,POST数据如下所示:
'field[section_name][field_name][label]': label_value
'field[section_name][field_name][help]': help_value
'field[section_name][field_name][kind]': kind_value
例如使用请求.发布.列表():
('section[]', ['Qualys', 'Notifications'])
('field[qualys][test][label]', ['Test'])
('field[qualys][test][help]', ['My help text.'])
('field[qualys][test][kind]', ['string'])
因此,如果我想检索标签值,例如,我必须:
request.POST.get('field[section_name][field_name][label]')
由于节\名和字段\名事先不知道,所以我必须使用正则表达式将它们提取出来。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐