Django 表单的重复提交防范

2023-04-11 00:00:00 表单 重复 防范

Django 表单的重复提交防范可以通过以下方式进行:

  1. CSRF 防护:Django 自带了 CSRF 防护,它会为每个 POST 请求生成一个唯一的 token,使用这个 token 可以防止 CSRF 攻击和重复提交表单数据。

  2. JavaScript 禁用提交按钮:使用 JavaScript 禁用表单提交按钮,避免用户多次点击提交按钮造成的重复提交。

下面给出一个简单的代码演示:

<!-- HTML 表单 -->
<form method="post">
  {% csrf_token %}
  <input type="text" name="website" value="pidancode.com">
  <button type="submit" class="submit-btn">提交</button>
</form>
// JavaScript 禁用提交按钮
$(document).ready(function() {
  $('.submit-btn').click(function() {
    $(this).prop('disabled', true); // 禁用按钮
  });
});

注意:上述代码中使用了 jQuery 库,需要在 HTML 中引入。

以上两种方式可以结合使用,以最大程度地防止表单的重复提交。

相关文章