近一年来,我一直在绊倒同样的问题.我总能找到解决问题的方法,但我已经厌倦了寻找工作.
我需要的是在服务器上运行python脚本的Web页面(更好的HTML,而不是PHP或ASP)上创建一个按钮.我也希望能够让这个按钮从表单向脚本发送信息.
我需要在本地主机上以及通过Amazon Cloud上托管的Web服务执行此操作.我将无法在Amazon Cloud服务上安装任何额外内容,例如PHP或CGI.
我真的很喜欢一个简单的解决方案,我是python的专家,我可以编写吹口哨的网页,但我找不到解决这个问题的简单方法.
<a href="mailto:someone@example.com?Subject=Hello%20again">Send Mail</a>
除了:
<a href="myscript.py?Subject=1234">Run Script</a>
现在我非常怀疑这样的解决方案存在,但我能做得对.
我试图运行的脚本:
>从用户返回唯一ID
>将ID发送到GIS程序,该程序根据ID创建地图(ID选择地图区域)
>然后将地图导出为PNG,写入HTML文档,然后在新选项卡中为用户显示.
编辑—————————
感谢@Ketouem的回答,我找到了一个很好的解决方案来解决我的问题.我会在这里发布一些代码,以便其他人可以受益.确保你下载了python的Bottle Module,它很棒.
# 01 - Import System Modules from bottle import get,post,request,Bottle,run,template # 02 - Script Variables app = Bottle() # 03 - Build Temporary Webpage @app.route('/SLR') def login_form(): return '''<form method="POST" action="/SLR"> Parcel Fabric ID: <input name="UID" type="text" /><br /> Save Location: <input name="SaveLocation" type="text" value="D:/Python27/BottleTest/SLR_TestOutputs"/><br /> Air Photo On: <input name="AirPhoto" type="checkBox"/><br /> Open on Completion: <input name="Open" type="checkBox"/><br /> Scale: <input name="Scale" type="text" value="10000"/><br /> <input type="submit" /> </form>''' # 04 - Return to GIS App @app.route('/SLR',method='POST') def PHPH_SLR_Script(): # I won't bother adding the GIS Section of the code,but at this point it send the variables to a program that makes a map. This map then saves as an XML and opens up in a new tab. # 04 - Create and Run Page run(app,host='localhost',port=8080)
解决方法
您可以使用Bottle:
http://bottlepy.org/docs/dev/index.html这是一个轻量级的Web框架