gpt4 book ai didi

python - 防止在 Django 中提交多个表单

转载 作者:太空狗 更新时间:2023-10-30 01:44:53 25 4
gpt4 key购买 nike

我正在寻找一种通用方法来防止多次提交表单。我找到了这个 approach这看起来很有希望。而我不想在我的所有 View 中都包含此片段。使用请求处理器或中间件可能更容易做到这一点。

有什么最佳实践建议吗?

最佳答案

客户端,从 JavaScript 开始。您永远无法信任客户,但这是一个开始。

onclick="this.disabled=true,this.form.submit();

服务器端你“可以”向数据库中插入一些东西,即校验和。如果将其插入到数据库中,请使用 model.objects.get_or_create() 强制数据库级别的唯一性,您应该使用 unique_together。

最后:HTTPRedirect 是最好的,我在用户处理付款时使用的方法是向感谢/确认页面发出 HTTPRedirect()。这样刷新表单就不会重新提交,如果他们返回并尝试再次提交表单(不刷新表单),Django 跨站请求伪造 (CSRF) 将失败,完美!

关于python - 防止在 Django 中提交多个表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15671335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com