Django动态表单集不起作用

Django-dynamic-formsets not working

本文关键字:不起作用 表单 动态 Django      更新时间:2023-09-26

背景

我希望使用django动态表单集javascript应用程序动态添加/删除表单集。

这是请求。没有添加/删除的POST数据(作为参考):

<QueryDict: {u'set_set-1-test': [u'4'], 
u'set_set-2-id': [u'5'], 
u'set_set-2-test': [u'4'], 
u'set_set-1-id': []
u'ExData_5-MAX_NUM_FORMS': [u'1000'], 
u'ExData_3-0-numSets': [u'3'], 
u'set_set-TOTAL_FORMS': [u'3'], 
u'ExData_3-TOTAL_FORMS': [u'2'], 
u'ExData_5-0-sett': [u'5'], 
u'ExData_4-INITIAL_FORMS': [u'2'], 
u'ExData_4-0-ex': [u'5'], 
u'ExData_5-INITIAL_FORMS': [u'1'], 
u'ExData_4-TOTAL_FORMS': [u'2'], 
u'set_set-INITIAL_FORMS': [u'3'], 
u'ExData_4-0-sett': [u'4'], 
u'ExData_4-1-ex': [u'4'], 
u'ExData_5-TOTAL_FORMS': [u'1'], 
u'set_set-0-id': [u'3'], 
u'add': [u'Add Set'], 
u'ExData_3-1-repScheme': [u'15-15-15-15'], 
u'ExData_3-0-ex': [u'1'], 
u'ExData_5-0-numSets': [u'2'], 
u'ExData_5-0-id': [u'5'], 
u'ExData_3-0-sett': [u'3'], 
u'ExData_4-0-numSets': [u'3'], 
u'set_set-MAX_NUM_FORMS': [u'1000'], 
u'ExData_3-1-numSets': [u'4'], 
u'ExData_3-1-id': [u'2'], 
u'ExData_5-0-repScheme': [u'amap-amap'], 
u'ExData_4-0-id': [u'3'], 
u'set_set-0-DELETE': [u'', 
u'', 
u''], 
u'ExData_4-MAX_NUM_FORMS': [u'1000'], 
u'ExData_3-0-repScheme': [u'10-8-6'], 
u'ExData_4-1-numSets': [u'3'], 
u'set_set-2-DELETE': [u'', 
u''], 
u'ExData_4-1-repScheme': [u'10-10-10'], 
u'ExData_3-INITIAL_FORMS': [u'2'], 
u'set_set-0-workout': [u'4'], 
u'ExData_4-1-id': [u'4'], 
u'ExData_3-1-ex': [u'2'], 
u'ExData_5-0-ex': [u'3'], 
u'set_set-1-DELETE': [u'', 
u'', 
u''], 
u'ExData_3-MAX_NUM_FORMS': [u'1000'], 
u'ExData_4-0-repScheme': [u'15-12-12']}>

这是请求。进行1次添加时的POST数据:

    <QueryDict: {u'set_set-1-workout': [u'4'], 
u'set_set-2-id': [u'5'], 
u'set_set-2-workout': [u'4'], 
u'set_set-1-id': [u'4'], 
u'ExData_3-1-sett': [u'3'], 
u'ExData_3-0-id': [u'1'], 
u'ExData_4-1-sett': [u'4'], 
u'ExData_5-MAX_NUM_FORMS': [u'1000'], 
u'ExData_3-0-numSets': [u'3'], 
u'-NaN-set_set-2-id': [u''], 
u'set_set-TOTAL_FORMS': [u'3'], 
u'ExData_3-TOTAL_FORMS': [u'2'], 
u'ExData_5-0-sett': [u'5'], 
u'ExData_4-INITIAL_FORMS': [u'2'], 
u'-NaN-ExData_5-0-repScheme': [u'2'], 
u'-NaN-ExData_5-0-ex': [u'3'], 
u'ExData_4-0-ex': [u'5'], 
u'ExData_5-INITIAL_FORMS': [u'1'], 
u'ExData_4-TOTAL_FORMS': [u'2'], 
u'set_set-INITIAL_FORMS': [u'3'], 
u'ExData_4-0-sett': [u'4'], 
u'ExData_4-1-ex': [u'4'], 
u'ExData_5-TOTAL_FORMS': [u'1'], 
u'set_set-0-id': [u'3'], 
u'add': [u'Add Set'], 
u'ExData_3-1-repScheme': [u'15-15-15-15'], 
u'ExData_3-0-ex': [u'1'], 
u'ExData_5-0-numSets': [u'2'], 
u'ExData_5-0-id': [u'5'], 
u'ExData_3-0-sett': [u'3'], 
u'ExData_4-0-numSets': [u'3'], 
u'-NaN-set_set-2-workout': [u''], 
u'set_set-MAX_NUM_FORMS': [u'1000'], 
u'ExData_3-1-numSets': [u'4'], 
u'ExData_3-1-id': [u'2'], 
u'ExData_5-0-repScheme': [u'amap-amap'], 
u'-NaN-ExData_5-0-sett': [u''], 
u'ExData_4-0-id': [u'3'], 
u'set_set-0-DELETE': [u'', 
u'', 
u''], 
u'ExData_4-MAX_NUM_FORMS': [u'1000'], 
u'ExData_3-0-repScheme': [u'10-8-6'], 
u'ExData_4-1-numSets': [u'3'], 
u'set_set-2-DELETE': [u'', 
u''], 
u'ExData_4-1-repScheme': [u'10-10-10'], 
u'ExData_3-INITIAL_FORMS': [u'2'], 
u'set_set-0-workout': [u'4'], 
u'ExData_4-1-id': [u'4'], 
u'ExData_3-1-ex': [u'2'], 
u'ExData_5-0-ex': [u'3'], 
u'set_set-1-DELETE': [u'', 
u'', 
u''], 
u'-NaN-ExData_5-0-numSets': [u'1'], 
u'ExData_3-MAX_NUM_FORMS': [u'1000'], 
u'-NaN-ExData_5-0-id': [u''], 
u'ExData_4-0-repScheme': [u'15-12-12']}>

正如您所看到的,在第二个请求中到处都是"NaN"。POST数据,我认为这意味着django动态表单集javascript在错误的位置查找标识号(在名称之前)

问题

1) 。我的请求数据格式与django动态表单集javascript所寻找的格式之间的不兼容性是什么?

2) 。更重要的是,我该如何修复它?

您应该在javascript代码中添加/更改前缀。它选择了错误的html,这就是它的输出具有NaN(不是数字)字段的原因。