正在尝试为每个对象实例创建按钮

2024-05-18 10:53:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图制作一个按钮列表,每个按钮对应于数据库中的一个对象。但是,当我按下其中一个按钮时,始终是生成的最后一个按钮的值发送回视图:

        {% if segmenter %}
        <form method="post">
        {% csrf_token %}
        <ul>
            {% for segment in segments %}
            <li>
                <input type="hidden" name="id" value="{{ segment.pk }}"/>
                <button type="submit">{{ segment }}</button>
            </li>
            {% endfor %}
        </ul>
        {% else %}
            <strong>No segments registered. </strong><br />
        {% endif %}

Tags: 对象form视图数据库列表iftypesegment
1条回答
网友
1楼 · 发布于 2024-05-18 10:53:37

表单项通过name来区分,但您的输入使用相同的name。此外,使用一个表单意味着您打算在输入有差异时发送所有输入

你应该做:

{% if segmenter %}
{% csrf_token %}
<ul>
    {% for segment in segments %}
    <form method="post">
    <li>
        <input type="hidden" name="id_{{ segment.pk }}" value="{{ segment.pk }}"/>
        <button type="submit">{{ segment }}</button>
    </li>
    </form>
    {% endfor %}
</ul>
{% else %}
    <strong>No segments registered. </strong><br />
{% endif %}

单击每个按钮后,将发布一个单独的表单

相关问题 更多 >