如何在循环中创建一个带有多个按钮的表单

时间:2013-07-24 16:10:01

标签: django django-forms django-templates django-views

这是我在模板中的表格, 我正在创建多个表单,在循环中有两个按钮用于投票特定项目 而且我觉得它很难看,我怎么能避免只使用一个表格用于所有按钮?

{% for bill_item in bill_items %}
   <form action="{% url 'bills:change_quantity' bill_item.id %}" method="post">
      {% csrf_token %}
      <button name="up"></button>
      <button name="down"></button>
   </form>
{% endfor %}

这是我在视图中的行动

def change_quantity(request, bill_item_id):
    bill_item = BillItem.objects.get(pk=bill_item_id)
    if 'up' in request.POST:
        bill_item.increase()
    elif 'down' in request.POST:
        bill_item.decrease()
    bill_item.save()
    return HttpResponseRedirect('/bills/')

1 个答案:

答案 0 :(得分:3)

将bill_item.id移动到按钮怎么样?目前无法对此进行测试,因此请将此视为未经检查的建议

像:

<form action="{% url 'bills:change_quantity' bill_item.id %}" method="post">
{% for x_id,bill_item in enumerate(bill_items) %}
  <button name={% x_id %} value="up"></button>
  <button name={% x_id %} value="down"></button>
相关问题