我有一点webdev经验,刚开始学习python。我创建了一个python脚本,它接受一个参数,然后运行一个程序,并将print语句打印到控制台。我很好奇是否可以把这个程序放在网页上。
即。带有下拉列表的网页,选择该选项并单击" Go"按钮。然后使用您选择的选项运行python脚本,并在页面上显示您的报告。
我查看过几篇类似的帖子:Execute a python script on button click
run python script with html button
但他们似乎提供了截然不同的解决方案,人们似乎认为PhP的想法是不安全的。我也在寻找更明确的东西。我可以更改python脚本以返回ajson或其他内容而不仅仅是print语句。
答案 0 :(得分:1)
在网页和python程序之间进行通信的一种非常常见的方法是将python作为WSGI server运行。实际上,python程序是一个单独的服务器,它使用GET和POST与网页通信。
这种方法的一个好处是它将Python应用程序与网页正确分离。您可以在开发过程中通过将http请求直接发送到测试服务器来测试它。
Python包含built-in WSGI implementation,因此创建WSGI服务器非常简单。这是一个非常小的例子:
from wsgiref.simple_server import make_server
# this will return a text response
def hello_world_app(environ, start_response):
status = '200 OK' # HTTP Status
headers = [('Content-type', 'text/plain')] # HTTP Headers
start_response(status, headers)
return ["Hello World"]
# first argument passed to the function
# is a dictionary containing CGI-style environment variables
# second argument is a function to call
# make a server and turn it on port 8000
httpd = make_server('', 8000, hello_world_app)
httpd.serve_forever()