0

我正在用 django 构建一个电子商务网站,我想创建一个按钮来表示订单已经交付。

在此处输入图像描述

我很确定您可以使用复选框来实现这一点,但我想使用一个按钮,因为使用平板电脑时单击它会更容易。

我希望该按钮也“不可点击”,以防有人不小心点击了错误订单的按钮。

我需要在html中制作表格吗?或者有没有更简单的方法来做到这一点。

这是我的html:

Order page

<table>
    <tr>
        <td>#</td>
        <td>Name</td>
        <td>Email</td>
        <td>Phone</td>
        <td>Order</td>
        <td>Order Quantity</td>
        <td>Delivered</td>
    </tr>

    {% for ord in orders %}
        {% for food in ord.orderitem_set.all %}

        <tr>
            {% if forloop.counter == 1 %}
                <td>{{ord.pk}}</td>
                <td>{{ord.user.first_name}}</td>
                <td>{{ord.user.email}}</td>
                <td>{{ord.user.get_profile.phone}}</td>

            {% else %}
                <td colspan="4"></td>
            {% endif %}

                <td>{{food.name}}</td>
                <td>{{food.quantity}}</td>

            <td>{% if forloop.counter == 1 %} <button type="button">Delivered</button> {% endif %}</td>
        </tr>
        {% endfor %}
    {% endfor %}

</table>  


</body>
</html>  
4

1 回答 1

1

嗯,我认为在按钮周围放一个表格是“更简单的方法”^^

稍后,如果您愿意,您可以使用下面几乎相同的视图代码使其成为一个漂亮的 javascript 切换

例如在你的按钮周围......

<form action="{% url show_orders %}" method="post">
    <input type="hidden" name="order-id" value="{{ ord.pk }}"/>
    <input type="hidden" name="action=" value="toggledelivery"/>
    <button type="button">{% if not ord.is_delivered %}Not {% endif %}Delivered</button>
</form>

那么在你看来,类似...

def show_orders(request):

     if request.method == "POST": 
         order_id = request.POST.get('order-id', None)

         # TODO toggle the order here

         return HttpResponseRedirect(back_to_the_order_admin_page)
     else:
         # ...show the admin page
于 2012-08-28T01:57:55.040 回答