Django表单提交时的两个返回语句
我有一个Django表单,里面有复选框。用户选择复选框后,会点击提交按钮,这样就会执行view.py中的request.POST部分,并返回一个PDF文件。现在在返回PDF文件后,我该如何刷新同一页面呢?
views.py
if request.POST:
generate PDF file using reportlab tool
return PDF
else:
return template which consist of django form
在request.POST中我可以获取到PDF文件,同时我该如何刷新页面呢?
在返回PDF后,我想刷新同一页面。有什么解决办法吗?
提前谢谢你!
3 个回答
0
其实你可以在返回PDF的同时,让后台页面刷新,或者在一段时间后跳转到其他地方。
你只需要在生成的后台页面的HTML头部放入以下代码:
<META HTTP-EQUIV="Refresh" CONTENT="3;URL=http://www.some.org/some.html">
这段代码会在3秒后把用户跳转到你提供的网址。
希望这对你有帮助。
1
这个问题说不通。
用户一次只能看到一个回复。如果你表单的回复是PDF文件,那他们在浏览器里看到的就是这个PDF。
2
评论说得对,这个问题和任何服务器端语言都没有关系,所以我来给你一些解决方案的建议:
一个很常见的做法是,不直接返回PDF文件,而是先返回一个HTML页面,上面写着“您的下载即将开始”。这个页面可以用一个链接或者一些简单的JavaScript代码来在新的浏览器窗口中打开PDF文件。之后,这个页面可以保持打开状态,或者自动跳转到其他地方。