cgi不执行HTML

时间:2019-06-21 13:46:31

标签: python

我目前正在尝试构建python服务器,以创建一个以python代码作为后端运行的网站,为此,我首先使用cgi(作为测试)来显示html页面,但是它没有工作。

为此,我首先使用cgi(作为测试)来显示html页面,但是它不起作用。

这是我服务器的代码:     导入http.server

PORT = 8888
server_address = ("", PORT)

server = http.server.HTTPServer
handler = http.server.CGIHTTPRequestHandler
handler.cgi_directories =     ["/Users/mydirectory/Desktop/STAGE_AREMIS_FRANCE/python"]
print("Serveur actif sur le port :", PORT)

httpd = server(server_address, handler)
httpd.serve_forever()

,这里是索引之一:     #编码:utf-8

import cgi

form = cgi.FieldStorage()
print("Content-type: text/html; charset=utf-8\n")

print(form.getvalue("name"))

html = """<!DOCTYPE html>
<head>
 <title>Mon programme</title>
</head>
<body>
<form action="/index.py" method="post">
    <input type="text" name="name" value="Votre nom" />
    <input type="submit" name="send" value="Envoyer information au serveur">
</form> 
</body>
</html>
"""

print(html)

我已经阅读了cgi的文档,但我不知道为什么它不起作用。 有任何想法吗? 谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

这里的主要问题是cgi_directories是相对于服务器目录根目录的目录列表,但是看起来您正在设置相对于文件系统根目录的路径。

默认情况下为['/cgi-bin', '/htbin']。我建议保留默认设置,创建一个名为cgi-bin的子目录,然后将脚本移动到那里。