我对此很陌生,但我已经搜索了几个小时,感觉我做的一切都是正确的,但无论我尝试什么,当我在 HTML 表单上单击“提交”时,而不是运行我的 Python 脚本它只是在浏览器中显示代码。这似乎是一个常见问题,因为我发现有很多主题都在讨论它,但我在这些帖子中读到的修复程序都不适合我,所以我一定做错了什么,我希望有人可以教育我。
我正在通过 Ampps 运行本地 Apache 服务器。
在我的 Apache conf 目录中,我编辑了 httpd.conf 以包含以下行:
Options Indexes FollowSymLinks ExecCGI
AddHandler cgi-script .cgi .py
这是我在名为 form_test.html 的文件中的 HTML 代码
<!doctype html>
<html>
<form name="form" action="app.py" method="post">
<table>
<tr><td><label for="notes">Add interview notes:</label></td></tr>
<tr><td><textarea id="notes" name="notes" rows="25" cols="50"></textarea></td></tr>
<tr><td><input type="submit" value="Submit"></td></tr>
</table>
</form>
</html>
这是我的 Python 脚本,位于名为 app.py 的文件中
/Program%20Files/Python312/python.exe
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route("/app", methods=["POST"])
def process_form():
notes = flask.request.args.get["notes"]
print("Notes: " + notes)
return jsonify({"message": "Notes received."})
if __name__ == "__main__":
app.run(debug=True)
这两个文件都位于我的 Apache 服务器的同一个 www 根目录中。 我可以通过在浏览器中输入“localhost/form_test.html”来执行 html 文件。
我正在使用 Windows 11、Chrome 浏览器以及通过 Ampps(免费)安装的 Apache 2.4.58。
我一定做错了什么,但我无法发现它。我有编写 HTML、PHP、Javascript 等的经验。但这是我第一次运行本地 Apache 服务器,而且我仍在学习 Python。
感谢所有回复的人。我保证,当我遇到问题时,这并不总是我的第一站。但我正在复制在线课程,但无法使其正常工作,并希望能得到一两个指示来说明原因。
@Random Davis 向我指出了一个非常有帮助的 YouTube 频道(谢谢!),沿着这条路,我发现了同一作者制作的一个新视频,它提供了我正在寻找的内容,所以我发布了该链接作为一个解决方案,因为它使用 Flask 让我准确地到达了我需要的地方。
这是链接:https://www.youtube.com/watch?v=0meTbQQaosU
逐步按照本教程进行操作,您将能够正确设置将 HTML 表单输入传递到您自己项目的 Python 变量。
干杯!