【发布时间】:2018-07-31 19:06:11
【问题描述】:
我正在尝试获取一个 html 页面来获取文本输入并让 python 脚本获取它并打印出来。在我为虚拟主机试用期间,我的这个工作正常,在我升级到完整帐户后,我将文件转移过来,它停止工作。我可能错过了设置中的一步,但我不知道在哪里。这是我所做的:
我设置了一个 python virtualenv,然后我通过进入 SSH 并输入 source /home/username/virtualenv/test/3.5/bin/activate 来激活它并确认它已被激活。
然后我尝试运行我的 public_html 文件夹中的 index.html 文件:
<!DOCTYPE HTML>
<html>
<head>
<title>Test</title>
</head>
<body>
<form action="/cgi-bin/hello.py" method="get">
Enter Message: <input type="text" name="message">
<input type="submit" value="submit">
</form>
</body>
</html>
一切都正确显示。当我在输入框中输入任何内容并单击提交时,它应该执行我的 cgi-bin 文件夹中的 hello.py 脚本:
#!/home/username/virtualenv/test/3.5/bin/python
import cgi
data = cgi.FieldStorage()
print ("Content-Type: text/html\n")
print (data["message"].value)
所有显示的是实际的 Python 代码,而不是来自 html 的输入。
我也在 python 脚本中使用 #!/usr/bin/python 进行了尝试,但它仍然只显示 python 代码。
【问题讨论】:
-
你告诉服务器它应该执行 .py 文件了吗?
-
我已经提供了正确的 755 权限,但仍然无法让它执行 .py 文件,而不仅仅是显示代码。