Django表单提交没有刷新用户看到的内容

时间:2012-08-10 01:44:26

标签: python django

在我的django应用程序中,我有一个POSTS到同一页面的表单(没有AJAX或任何东西;非常简单)。我正在使用inlineformset_factory表单。

我的一个属性是many2many关系的一部分,因此有一个delete复选框。如果用户选中该框并提交表单,则POST会成功完成并刷新页面(正常表单提交时也是如此,sans-ajax)。

但是,当页面再次加载时,应该删除的项目仍会显示。问题是,如果我对页面进行了大量的刷新,它们就会消失(因为POST成功了。

我正在为@never_cache使用的视图函数添加前缀。否则,我没有任何幻想,没有JavaScript与此表单进行交互。

有什么想法吗?我一直坚持这个(并且是django n00b,这没有用)。

1 个答案:

答案 0 :(得分:3)

一般而言,优良作法是在成功发布后重定向,以防止多次提交。重定向到相同的网址是可以的。

if formset.is_valid():
    formset.save()
    return HttpResponseRedirect("")

浏览器将遵循重定向,并且不会显示已删除的项目。