1

这是我在模板中的表单,我正在创建多个表单,在循环中使用两个按钮来投票特定项目,我认为这很丑陋,我怎样才能避免只对所有按钮使用一个表单?

{% 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/')
4

1 回答 1

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>
于 2013-07-24T16:23:23.610 回答