0

私のdjangoアプリにはPOSTS、同じページにあるフォームがあります(AJAXなどはありません。非常にシンプルです)。フォームを使用していinlineformset_factoryます。

私の属性の1つは、many2many関係の一部であるため、deleteチェックボックスがあります。ユーザーがそのボックスをチェックしてフォームを送信すると、POSTは正常に実行され、ページが更新されます(通常のフォーム送信、sans-ajaxと同様)。

ただし、ページが再度読み込まれると、削除されたと思われるアイテムは引き続き表示されます。キャッチは、ページをハードリフレッシュすると、それらが消えてしまうことです(POST成功したため)。

使用しているビュー関数の前に。を付けてい@never_cacheます。それ以外の場合は、何も気にせず、JavaScriptがこのフォームと相互作用しません。

何か案は?私はこれに固執しています(そして、役に立たないdjango n00bです)。

4

1 に答える 1

3

一般に、投稿が成功した後にリダイレクトして、複数の送信を防ぐことをお勧めします。同じURLにリダイレクトしても問題ありません。

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

ブラウザはリダイレクトに従い、削除されたアイテムは表示されません。

于 2012-08-10T12:41:52.927 に答える