如何使用 e 处理此示例中的 POST 响应? G。考虑到 cgi.FieldStorage() 已弃用,web.py 或 werkzeug(开销越少越好)?对于 PHP,这很简单,但我在这里遇到了 Python 问题。我在 stackoverflow 和其他地方检查了几个答案,但我无法让它们工作。
#!/usr/bin/env python3
import cgi
from string import Template
html = """
<!doctype html>
<html>
<head>
<title>test</title>
<meta charset="utf-8" />
</head>
<body>
<form action="/tools/test.py" method="post" name="test_form">
<input type="text" value="" placeholder="choose a username" name="username">
<input type="submit" value="submit" name="submit">
$result
</form>
</body>
</html>
"""
def eval_form():
global result
form = cgi.FieldStorage()
if 'username' in form.keys():
result = 'username is: ' + form["username"].value
else:
result = ''
def mk_tmpl():
d = {
'result': '<p>' + str(result) + '</p>'
}
src = Template(html)
print("Content-Type: text/html")
print(src.substitute(d))
eval_form()
mk_tmpl()