在我的django应用程序中,我有一个POSTS
到同一页面的表单(没有AJAX或任何东西;非常简单)。我正在使用inlineformset_factory
表单。
我的一个属性是many2many关系的一部分,因此有一个delete
复选框。如果用户选中该框并提交表单,则POST
会成功完成并刷新页面(正常表单提交时也是如此,sans-ajax)。
但是,当页面再次加载时,应该删除的项目仍会显示。问题是,如果我对页面进行了大量的刷新,它们就会消失(因为POST
成功了。
我正在为@never_cache
使用的视图函数添加前缀。否则,我没有任何幻想,没有JavaScript与此表单进行交互。
有什么想法吗?我一直坚持这个(并且是django n00b,这没有用)。
答案 0 :(得分:3)
一般而言,优良作法是在成功发布后重定向,以防止多次提交。重定向到相同的网址是可以的。
if formset.is_valid():
formset.save()
return HttpResponseRedirect("")
浏览器将遵循重定向,并且不会显示已删除的项目。