我很困惑我有這個問題,我希望有人能指出我的錯誤。Django:POST方法後重定向到當前頁面顯示重新發布警告
我在views.py中有一個方法,它綁定到一個具有表單的模板。代碼如下所示:
def template_conf(request, temp_id):
template = ScanTemplate.objects.get(id=int(temp_id))
if request.method == 'GET':
logging.debug('in get method of arachni.template_conf')
temp_form = ScanTemplateForm(instance=template))
return render_response(request, 'arachni/web_scan_template_config.html',
{
'template': template,
'form': temp_form,
})
elif request.method == 'POST':
logging.debug('In post method')
form = ScanTemplateForm(request.POST or None, instance=template)
if form.is_valid():
logging.debug('form is valid')
form.save()
return HttpResponseRedirect('/web_template_conf/%s/' %temp_id)
此頁面的行爲是這樣的:當我按下「提交」按鈕,程序進入POST
分公司,併成功地執行在分支機構的一切。然後HttpResponseRedirect
只重定向到當前頁面(該url是當前網址,我認爲應該等於.
)。之後,GET
分支自我重定向到當前頁面後被執行,並且頁面成功返回。但是,如果我刷新頁面,此時,瀏覽器返回一個確認警告:
The page that you're looking for used information that you entered.
Returning to that page might cause any action you took to be repeated.
Do you want to continue?
如果我確認,POST數據將被張貼到後端一次。看起來像瀏覽器仍然保存着以前的POST數據。我不知道爲什麼會發生這種情況,請幫助。謝謝。
+1我有完全相同的問題。我有類似的代碼,但它似乎只能在Firefox中正常工作。 – 2013-03-08 16:21:45
@KevinDiTraglia:哦,我以前沒有嘗試過Firefox,但看起來像firefox做的工作。很奇怪...... – 2013-03-08 16:26:36
@KevinDiTraglia這是Chrome 25中的一個錯誤,請參閱下面的答案。 – Alasdair 2013-03-10 15:33:48