我对我遇到的问题感到非常困惑,我希望有人能指出我的错误。
我在 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是当前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 数据。我不知道为什么会出现这种情况,请帮忙。谢谢。