Я уже спотыкаюсь с той же проблемой уже почти год. Я всегда нахожу способ обойти это, но я устал искать работу вокруг.Запустите скрипт Python из Интернета
Мне нужно создать кнопку на веб-странице (предпочтительный HTML, а не PHP или ASP), который запускает скрипт python на сервере. Мне также хотелось бы, чтобы эта кнопка передавала информацию из формы в скрипт.
Мне нужно сделать это на локальном хосте и через веб-службу, размещенную на облаке Amazon. Я не смогу установить что-либо еще на службе 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 (идентификатор выбирает область карта)
- Карта затем экспортируется в PNG, записывается в HTML-документ и затем отображается для пользователя на новой вкладке.
EDIT ---------------------------
Благодаря @Ketouem ответ, который я смог найти отличный решение моей проблемы. Я напишу часть кода здесь, чтобы другие могли воспользоваться. Убедитесь, что вы загрузите модуль бутылок для python, это замечательно.
# 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)
вы можете запустить демон с помощью web.py, флягу или пирамида? –
У меня была другая проблема, если кто-то может помочь, она находится здесь [http://stackoverflow.com/questions/15010556/python-bottle-issues-when-accessed-externally) –