2011-11-14 77 views
1

我有一個選擇框和提交到Django中的視圖的輸入框。 當我提交它在django中添加值,然後頁面重新加載和選擇框值更新。 但是,如果我在該頁面上按'刷新',它會嘗試再次重新提交值。我怎樣才能防止這種行爲,我希望POST後的刷新是頁面的正常刷新,就像以前沒有提交POST一樣。django表單提交返回非「發佈」頁面

localhost/project/myview/3/3 

我試圖做一個"return HttpResponseRedirect(reverse("myview"), firstid=3, secondid=3)" 但它似乎並不奏效,這是做的正確的方式,如何解決這一問題?

+0

行爲是由瀏覽器來處理。對此你幾乎沒有辦法。 – Blender

+2

重定向是正確的方式,應該防止這種情況發生。你的觀點是什麼樣子? –

+1

不,這是表單提交的標準技術:視圖返回一個302重定向到一個URL,如果重新加載,將不會重新提交表單。 –

回答

3

HttpResponseRedirect只需要一個參數。您需要將ID參數傳遞給reverse

return HttpResponseRedirect(reverse("myview", kwargs={"firstid": 3, 
    "secondid": 3})) 
+0

太棒了謝謝你! – user391986