如果一個頁面包含了form,同時這個form中的提交按鈕是type=submit的input的時候,你刷新該頁面,就會有彈窗提示是否重新提交表單,這個特性不勝其煩,常見解決方法有兩個:
第一種是前端的解決方案:
將input[type=submit]改成button.onclick(function(){ajax;})的方式來異步提交form,這種方式不會有表單的彈窗問題。
第二種是后端的解決方案:
將form.is_valid()之后的返回代碼由TemplateResponse改成HttpResponeRedirect(url)即可,這種方式不會返回之前的form,而是返回一個新的form頁面。也完美的規避了刷新表單彈窗的問題。
基於現在assetlibrary的開發進度,我准備采用第二種解決方案,這樣可以用最小限度的修改來達成目標。現在考慮到開發要趕工,所以很多地方代碼都有重用,所以現在的表單是半異步的方式,即使以后form提交全面異步處理,我也留好了接口來更新。