我正在尝试从表单中获取数据,该表单会根据列表多次复制。每个项目一个表格。该表单由一个复选框和一个文本字段组成。如果选中该复选框,那么我还需要随附的文本字段数据。
我在这里问了一个相关的问题:
Django 验证错误 u"'' value must be a decimal number."
这主要是解决了但是现在我有一个新问题。
看法:
for item in request.POST.getlist('item_list'):
item_id = int(item)
item = Item.objects.get(id=item_id)
item_name = item.name
print item_name
list = List(name = item_name, created_on = now, edited_on = now)
for price in request.POST.getlist('price'):
if not price:
continue
print price
list_item.price = Decimal(price)
list_item.save()
item.delete()
它没有在上面显示,但是now = timezone.now()
。
模板:
<form action="" method="post">
{% csrf_token %}
{% for item in item_list %}
<input type="checkbox" name="item" value="{{item.id}}">{{item.name}} <input type="text" name="price"><br>
{% endfor %}
<input type="submit" value="Add Items">
</form>
当我提交表单时,它现在会通过两个循环两次,并且所有项目的最终价格都是相同的。我通过在我的代码中插入打印函数并分析显示的内容来确定这一点。我想我知道问题出在哪里,问题是如何纠正它,任何帮助将不胜感激。