django中form页面刷新后自动提交的解决方案

如果一个页面包含了form,同时这个form中的提交按钮是type=submit的input的时候,你刷新该页面,就会有弹窗提示是否重新提交表单,这个特性不胜其烦,常见解决方法有两个:

第一种是前端的解决方案:

      将input[type=submit]改成button.onclick(function(){ajax;})的方式来异步提交form,这种方式不会有表单的弹窗问题。

第二种是后端的解决方案:

      将form.is_valid()之后的返回代码由TemplateResponse改成HttpResponeRedirect(url)即可,这种方式不会返回之前的form,而是返回一个新的form页面。也完美的规避了刷新表单弹窗的问题。

基于现在assetlibrary的开发进度,我准备采用第二种解决方案,这样可以用最小限度的修改来达成目标。现在考虑到开发要赶工,所以很多地方代码都有重用,所以现在的表单是半异步的方式,即使以后form提交全面异步处理,我也留好了接口来更新。

原文地址:https://www.cnblogs.com/hksac/p/6505594.html