处理来自 Python index.html 文件的 POST 请求

Handle POST request from Python index.html file

我正在尝试创建一个 Web 表单,我正在从中对 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。