无法让我的 http 服务器识别和 运行 python 脚本

Having trouble getting my http server to recognize and run python scripts

我创建了一个本地地址 http 网络服务器,希望能够打开 HTML 网页和创建 HTML 网页的 python 脚本,但我一直收到 501错误,因为我无法弄清楚如何让网络服务器正确识别代码。另一个注意事项:我在 Windows 上编码,我没有使用 Cygwin(我对 Cygwin 一无所知,所以如果这是推荐的方法,请提供有关如何开始使用它的提示。)

无论如何,这就是我所拥有的。

我在 C:\ 中创建了一个名为 server_test 的文件夹,在这个文件夹中我一直在放置所有相关的 HTML 和 python 文件。我一直在 eclipse (C:\workspace) 中的 PyDev 中编辑我的 .py 文件,然后将文件复制过来并将它们放入 C:\server_test.

为了获取我的服务器 运行ning,我在 cmd 中导航到 \server_test,打开 python,然后使用 HTTPServer、CGIRequestHandler 创建一个网络服务器,当前目录,地址 127.0 .0.1,以及我选择的端口(通常是 9090)。完成此操作后,我可以转到我的 Web 浏览器并输入我的 HTML 页面之一的地址,它 运行 完全没问题。但是,我目前有一个 HTML 页面,用于调用 python 脚本(也位于 \server_test 中),该脚本将创建另一个 HTML 页面,但我无法获取它工作。

我的 HTML 代码如下所示:

<html>
<title>Debug Page</title>
<body
<h1>This is a test file. </h1> 
<form method=POST action="my_code_2.py">
            <P><input type=submit>
</form>
</body></html>

然后我的 'my_code_2.py' 看起来像这样:

#!C:\Python35-32\python.exe 

import cgi
import cgitb; cgitb.enable() 

print("Content-type: text/html\r\n\r\n")
print('<html>')
print('<h1>')
print('<title>This is a second test.</title>')
print('</h1>')
print('</body')
print('</html>')

从我读到的关于 shebang 行的内容来看,似乎 Windows 本机不支持它们?那么我如何确保我的计算机知道它应该 运行 代码为 Python?目前,当我按下第一个 HTML 页面上的按钮时,页面 http://127.0.0.1:port/my_code_2.py 只是一个白色页面,上面印有我的 python 代码。

尝试将 python 文件的扩展名更改为 .cgi,看看是否有帮助。如果您在网络服务器上 运行 python ,您可能想要使用 bottle.py 或 django tho 之类的东西。 Bottle 更容易学习,但功能较少。

http://bottlepy.org/docs/dev/index.html

https://www.djangoproject.com/