我正在尝试创建一个网络表单,从中我从Python脚本进行一些数据处理并将其写入HTML文件。我正在使用SimpleHTTPServer,发现它无法处理POST请求。我已经在谷歌上搜索了几个小时,但一直无法弄清楚这一点。这是我代码的相关部分:
index = open("index.html", "w")
form_string = '''<form action="" method="post">
<center><input type="radio" name="radio" value="left">
<input type="radio" name="radio" value="middle">
<input type="radio" name="radio" value="right"></center>
<center><p><input type="submit" name="submit" value="Submit Decision"/></p></center>
</form>'''
index.write(form_string)
我尝试使用以下 php 代码段作为测试,看看它是否有效,但我收到一个错误,说我的 SimpleHTTPServer 无法处理 POST 请求。
php_string = '''<?php
echo .$_POST['radio'];
?>
'''
index.write(php_string)
我的总体目标是简单地将用户单击的按钮存储在某种外部文件中,我认为 POST 请求将是最好的方法。有谁知道我该怎么做?
我不熟悉内置的SimpleHTTPServer,但它用于教学目的。
我建议你使用名为Flask的众所周知的微框架,也许这就是你想要的:
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def index():
return '''<form action="" method="post">
<center><input type="radio" name="radio" value="left">
<input type="radio" name="radio" value="middle">
<input type="radio" name="radio" value="right"></center>
<center><p><input type="submit" name="submit" value="Submit Decision"/></p></center>
</form>'''
@app.route('/', methods=['POST'])
def post_abc():
return 'radio: "%s", submit: "%s"' % (request.form['radio'], request.form['submit'])
if __name__ == '__main__':
app.run(debug=True)
使用浏览器访问http://localhost:5000
进行测试。
您可以通过pip install flask
安装 Flask。