html - 带有信息的 Django HTML POST 删除按钮

标签 html django forms post button

我有一个包含电子邮件地址的表,我需要从表中删除电子邮件地址。该表格在电子邮件地址旁边有删除按钮。

在初始页面加载时,我的 View 将电子邮件地址发送到 Django 模板。当用户单击您要删除的电子邮件地址旁边的删除按钮时,我需要该按钮连同相应电子邮件地址的信息一起发布,以便我的 View 可以从数据库中删除正确的电子邮件地址。

我查看了提交按钮和 POST 信息,但 POST 通常通过发送输入数据来工作。在这种情况下,没有输入数据。这是模板中的代码:

        <tr>
            <td>{% trans "Email" %}</td>
            <td>{% trans " " %}</td>
        </tr>
        </thead>
        <tbody>
        {% for licensed_user in licensed_users %}
            <tr>
                <td>{{ forloop.counter }}</td>
                <td>{{ licensed_user.user.email }}</td>
                <td>
                    <form class="flex-container" method="post" action="{% url 'reseller_dashboard' %}" >
                        {% csrf_token %}
                        <div class="input-group">
                            <button name="delete" type="submit" class="btn btn-default">DELETE
                            </button>
                        </div>
                    </form>
                </td>
            </tr>

提交按钮时,我需要发送 licensed_user.user.email 以及 POST 方法。

最佳答案

另外一种方式,你也可以使用ajax方法;

{% for licensed_user in licensed_users %}
  <tr class="tr__{{ forloop.counter }}">
    <td>{{ forloop.counter }}</td>
    <td>{{ licensed_user.user.email }}</td>
    <td><button data-email="{{ licensed_user.user.email }}"
                data-loop="{{ forloop.counter }}"
                class="btn btn-default delete-action">Delete</button>
    </td>
  </tr>
{% endfor %}

<script>
  $('.delete-action').click(function(){
    var email = $(this).data('email');
    var loop = $(this).data('loop');

    $.ajax({
      type: "POST",
      url: "{% url 'reseller_dashboard' %}",
      data: {
        'csrfmiddlewaretoken': '{{ csrf_token }}',
        'email': email,
        'delete': true
      },
      success: function(message) {
        console.log(message);
        $('.tr__' + loop).remove(); // remove this single `<tr>`
      },
      error: function(error) {
        console.log(error);
      }
    });
  });
</script>

关于html - 带有信息的 Django HTML POST 删除按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45766976/

相关文章:

django - API设计: can I stop users from making queries that are extremely slow?

jquery - 如何在提交表单时调用 jquery 函数?

javascript - 间距 HTML 表单

javascript - 如何使用带有包装器的 Javascript/jQuery 动态修改 CSS 类?

php - 用 PHP 比较两个 SQL 日期

javascript - 如何在向表中添加新行或列后保留下拉选择

python - Django:在 models.py 中出错并迁移,尝试修复错误,但 django 在 models.py 中没有看到任何更改

python - 模型对象没有属性保存

JavaScript 登录验证

jquery - 将 loader-div 添加到页面上的任何元素,同时模糊下面的内容