私はほぼ1年間、同じ問題に悩まされてきました。私はいつもそれを回避する方法を見つけますが、回避策を見つけるのにうんざりしています。
私が必要としているのは、サーバー上で Python スクリプトを実行する Web ページ (PHP や ASP ではなく HTML が望ましい) にボタンを作成することです。また、このボタンでフォームからスクリプトに情報を送信できるようにしたいと考えています。
これは、ローカル ホストで、Amazon クラウドでホストされている Web サービスを介して行う必要があります。PHP や CGI など、Amazon Cloud サービスに余分なものをインストールすることはできません。
私は本当に簡単な解決策が欲しいです.私はpythonの専門家であり、口笛を吹くWebページを書くことができますが、この問題に対する簡単な解決策を見つけることができません.
私の理想的な解決策は、タグ付けするメールのようなものです。
<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)