интерактивные веб-данные / формы / интерфейс python, взаимодействующие с удаленным сервером - PullRequest
1 голос
/ 15 апреля 2010

Какой эффективный метод (предпочтительно также простой) для связи с удаленным сервером и позволяющий пользователю «взаимодействовать» с ним (IE отправляет команды, пользовательский интерфейс) через веб-браузер (IE представляет собой текстовое поле для ввода команд, и текстовая область для вывода, или различные абстрагированные интерфейсы без команд)?

У меня есть «автономный» код Python, готовый для общения и работы (прямо сейчас на терминале / консоли). Моя основная задача заключается в том, чтобы переформулировать код для веб-приложений, что включает установление соединения (сокеты Python) и поддержание соединения во время входа пользователя в систему.

некоторые дальнейшие детали:

  • в настоящее время использует фреймворк django для базовой серверной части / шаблонов.

Ответы [ 3 ]

2 голосов
/ 15 апреля 2010

Вероятно, наиболее эффективным было бы настроить REST, как сказал fmsf. Как правило, каждая команда соответствует URL-адресу с другими присоединенными переменными:

http://example.com/nuclear_warhead/activate/1
http://example.com/nuclear_warhead/activate/2
http://example.com/nuclear_warhead/activate/3
http://example.com/nuclear_warhead/position/1/AtlanticOcean
http://example.com/nuclear_warhead/position/2/NorthPole
http://example.com/nuclear_warhead/position/3/Moon
http://example.com/nuclear_warhead/launch/1
http://example.com/nuclear_warhead/launch/2
http://example.com/nuclear_warhead/launch/3

Вы можете использовать их как действия клиента (они нажимают на ссылку или отправляют форму) или как Ajax-вызовы. Для вызовов Ajax они заполняют сложную форму, форма форматирует ее в приемлемый URL-адрес с прикрепленными данными и отправляет ее на сервер. Как только сервер обрабатывает команды, он возвращает результат (обычно в формате XML или JSON), который анализируется браузером и отображается на странице.

В полном приложении RESTful вы будете использовать различные методы HTTP POST, GET, PUT и DELETE для обработки записей

http://example.com/secret_document/1 [POST] - создает документ http://example.com/secret_document/1 [PUT] - обновить документ http://example.com/secret_document/1 [GET] - получить документ http://example.com/secret_document/1 [DELETE] - удалить документ

Однако не все браузеры могут поддерживать все методы HTTP.

С точки зрения реализации, Django является одним из вариантов, но немного тяжелым для того, что вы ищете. Возможно, вы захотите взглянуть на эту статью , в которой подробно описывается, как настроить легкое приложение для ответа на запросы веб-клиента. Вы можете определенно расширить его, чтобы добавить больше функциональности.

1 голос
/ 16 апреля 2010

В weberror.pdbcapture есть какой-то сумасшедший код для общей интерактивности через Интернет. Он реализован в виде промежуточного программного обеспечения WSGI, которое в основном прослушивает любой запрос ввода sys.stdin, и когда это происходит, он начинает получать данные из веб-формы и отправлять выходные данные на ту же страницу. Возможно, вы не захотите использовать его напрямую, но он дает некоторые идеи, если вы действительно хотите что-то вроде консоли через Интернет (что это вроде звучит так, как вы хотите, мне не ясно).

1 голос
/ 15 апреля 2010

Если вы используете django и хотите, чтобы интерфейс (html в браузере) общался с сервером, вам будет легко адаптироваться к AJAX.

Вот и все :) это упростит вам жизнь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...