从HTML而不是结果调用时打印的Python文件内容

时间:2017-08-30 21:31:29

标签: python html cgi

我在Windows 10的C:\ Apache24 \ htdocs目录中有两个文件index.html和form.py。内容如下:

的index.html

<html>  
<head>  
<title>demo web file python2.7</title>  
</head>  
<body>  
<form name="pyform" method="POST" action="/form.py">  
  <input type="text" name="fname" />  
  <input type="submit" name="submit" value="Submit" />  
</form>  
</body>  
</html>   

form.py

#!C:\Python27/python
print "Content-Type: text/html"      

import cgi,cgitb  
cgitb.enable() #for debugging  
form = cgi.FieldStorage()  
name = form.getvalue('fname')  
print "Name of the user is:",name  

Apache服务器配置为使用以下设置运行cgi脚本:

DocumentRoot "c:/Apache24/htdocs"
<Directory "c:/Apache24/htdocs">
    Options Indexes FollowSymlinks ExecCGI
    AllowOverride All
    Require all granted
</Directory>

AddHandler cgi-script .cgi .py

当我填充文本区域并单击&#34;提交&#34;在页面上的按钮,我得到了结果页面上的python文件的全部内容,而不是我放入框中的内容。

缺少什么或我做错了什么?非常感谢。

1 个答案:

答案 0 :(得分:0)

您需要使用htdocs指令将ScriptAlias标记为CGI程序。

ScriptAlias "C:/Apache24/htdocs"

参考文献: