我有一个Python脚本,我想创建一个非常简单的HTML表单,其中包含3个字段(用户名,密码和ID)和提交按钮。
当我点击提交时,我只想将这三个参数传递到我的Python脚本中并运行脚本。
我尝试使用CGI。我创建了一个cgi-bin
文件夹,并在其中添加了test.py
文件。 Python代码如下:
#!/usr/bin/python
# Import modules for CGI handling
import cgi, cgitb
# Create instance of FieldStorage
form = cgi.FieldStorage()
# Get data from fields
username = form.getvalue('username')
password = form.getvalue('password')
room_id = form.getvalue('room_id')
#More code here...
然后我创建了一个index.html
文件:
<!DOCTYPE html>
<html>
<body>
<form name="search" action="/[path to file]/test.py" method="get">
Username: <input type="text" name="username"> <br>
Password: <input type="password" name="password"> <br>
Room ID: <input type="text" name="room_id"> <br>
<input type="submit" value="Submit">
</form>
</body>
</html>
最后,我添加了一个server.py
文件:
import CGIHTTPServer
CGIHTTPServer.test()
我运行server.py文件并转到0.0.0.0:8000。我给出了输入,但是当我单击Submit时,python代码将打印在表单中,并且不会执行。
我正在寻找使这个HTML表单执行脚本的最简单,最快捷的方法。它仅用于测试目的,我不想花时间创建复杂的Web应用程序。
CGI是个好主意吗?如果是的话,我做错了什么?