我近一年來一直在同樣的問題上磕磕絆絆。我總是找到一種解決方法,但我厭倦了找到解決辦法。從網上運行一個Python腳本
我需要的是在網頁上創建一個按鈕(最好是HTML,而不是PHP或ASP),它在服務器上運行python腳本。我還希望能夠讓這個按鈕從表單發送信息到腳本。
我需要在本地主機上以及通過託管在Amazon Cloud上的Web服務執行此操作。我將無法在Amazon Cloud服務上安裝任何額外的東西,例如PHP或CGI。
我真的很喜歡一個簡單的解決方案,我是一個Python的專家,我可以編寫口哨的網頁,但我無法找到這個問題的簡單解決方案。
我的理想的解決辦法是這樣的郵件標記:
<a href="mailto:[email protected]?Subject=Hello%20again">Send Mail</a>
除外:
<a href="myscript.py?Subject=1234">Run Script</a>
現在我很懷疑這樣的一個解決方案,但還有我可以夢想的權利。
我試圖運行腳本:
- 從用戶
- 返回一個唯一的ID發送ID來創建基於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)
? – 2013-02-15 16:25:18
我有問題的另一個問題,如果任何人都可以幫助它位於[這裏](http://stackoverflow.com/questions/15010556/python-bottle-issues-when-accessed-externally) – 2013-02-21 19:35:45