我在2年前在1.5中做了一个django应用程序,我希望用1.7更新它(更改服务器和旧应用程序不会运行)。 我有一个HTML表单,其中包含一些动态数据(添加了行),结果存储在POST上的HTML数组中。问题是我无法访问django中存储的数组。我想要JSON编码并将其存储在数据库中。
我使用带有django 1.5的get_post_dict
使用更简单的HTML数组执行了一次,但我只是尝试再次使用django但是使用1.7。
我试过了request.POST.getlist
。
我的HTML数组在POST上看起来像这样
invoice_1[items_attributes][description] u'Here Goes'
invoice_1[items_attributes][formatted_quantity]u'2'
invoice_1[items_attributes][sort_order] u'1'
invoice_1[items_attributes][category_id]
invoice_1[items_attributes][sample]
invoice_1[items_attributes][unit]
invoice_1[items_attributes][formatted_price]
invoice_2[items_attributes][sort_order] u'2'
invoice_2[items_attributes][category_id]
invoice_2[items_attributes][description] u'Another Item'
invoice_2[items_attributes][sample]
invoice_2[items_attributes][formatted_price]
invoice_2[items_attributes][unit] u'each'
invoice_2[items_attributes][formatted_quantity]
or
invoice[items_attributes][1][description] = u'Sample Item'
invoice[items_attributes][1][sort_order] = u'1'
invoice[items_attributes][1][formatted_quantity] = u'32'
invoice[items_attributes][1][formatted_price] = u'81'
invoice[items_attributes][2][unit] = u'each'
invoice[items_attributes][2][sample] = u''
invoice[items_attributes][2][sort_order] = u'2'
invoice[items_attributes][2][formatted_quantity] = u'22'
invoice[items_attributes][2][description] = u'Another Item'
invoice[expenses_attributes][3][description] = u'Gas Purchase'
invoice[expenses_attributes][3][rate] = u'3000'
invoice[expenses_attributes][3][quantity] = u'1'
invoice[expenses_attributes][3][amount] = u'3000'
invoice[items_attributes][2][formatted_price] = u'41'
invoice[expenses_attributes][3][sample] = u''
我所说的旧代码使用了更简单的数组,例如
invoice_0[name_and_description]
invoice_0[quantity]
invoice_0[price]
invoice_0[unit]
我能够使用get_post_dict(request.POST, 'invoice_0')
,但现在我不知道如何解决这个问题。
注意:HTML表单不是我的设计,而是对2yrs旧应用程序使用的表单的改进。