HTML表单动作到python>如何从python生成的浏览器中保存本地文件

时间:2014-07-17 03:13:53

标签: javascript jquery python html forms

我有一个表单,当提交时通过python脚本进行处理。当我点击提交按钮时,它会打开一个下载窗口,要求保存pyscript.py,而不是显示我最终打印语句的内容。

HTML:

<html>
<form action="/cgi-bin/pyscript.py" method="get" class="darkform">
  <div id="button">
    < input type="submit" value="Generate" class="button">
  </div>
</form>
</html>

f = open(confdir + _hostname_ + "_config.txt" ,'w')
f.write(newdata)
f.close()

print newdata

该脚本创建一个本地.txt文件,我想让提交按钮生成文件,并直接在浏览器中显示或提示下载.txt文件。再次,当你点击提交时,它开始下载pyscript.py。如果我将下载文件的文件扩展名更改为.txt,则会完全打开。我应该提一下,这是我写过的第一个python脚本,所以我确定最后一个简单的打印并不是达到目标的最好方法。

任何帮助都会非常感激,因为我在论坛上搜索过,找不到相关内容。

1 个答案:

答案 0 :(得分:0)

因为您没有提供您正在使用的“Web服务器”的任何细节,所以我只能给出非常一般的回复:

  1. 您的“Web服务器”未正确配置为CGI esp。关于Python(*.py)作为CGI。请参阅:Dynamic Content with CGI for Apache。
  2. 您的回复(如果您希望您的浏览器/用户代理能够下载并将其视为可下载文件)必须使用以下HTTP标头回复
  3. 接头:

    Content-Disposition: attachment; filename="<file name.ext>"