Легковесный сервер ответов

Практически все примеры в этой книге могут быть опробованы без применения вебсервера. Однако, для полноценной демонстрации отдельных компонентов инструментария полезно организовать получение динамически изменяемого содержимого с сервера. Когда наступит такая необходимость, мы будем использовать CherryPy (версии 3.1+) – чрезвычайно простой в использовании сервер, способный отвечать на запросы, написанный на языке Python. Познакомиться с CherryPy и загрузить его можно на сайте http://cherrypy.org. Но не расстраивайтесь раньше времени – вы не погрязнете в трясине подробностей о новом вебсервере, которые придется изучать попутно с изучением Dojo.

Установить CherryPy совсем несложно, достаточно загрузить его и выполнить несколько коротких инструкций из файла README. Модуль CherryPy устанавливается точно так же, как и любой другой модуль Python, поэтому в данном случае не приходится говорить о каталоге установки. В отличие от других, более сложных серверных технологий, модуль CherryPy просто становится доступным для использования всякий раз, как только будет импортирован с помощью инструкции import, как и любой другой модуль Python. В действительности Cherry Py – это не более чем самостоятельное приложение на языке Python, которое управляет своим собственным многопоточным вебсервером, благодаря этому выполнить «сценарий на стороне сервера» так же просто, как запустить простую команду в окне терминала.

Например, если бы вас попросили запустить следующее простое приложение, хранящееся в файле hello.py, то все, что вам пришлось бы сделать для этого, – просто ввести в командной строке команду python hello.py.


Это все, что требуется для запуска CherryPy и приема запросов, поступающих в порт с номером 8080. Если модуль CherryPy уже установлен, инструкция import cherrypy, как показано в примере 1.1, отыщет его и сделает его доступным для использования.
Пример 1.1. Очень простое приложение, использующее модуль CherryPy
1 import cherrypy
2
3 class Content:
4
5 @cherrypy.expose
6 def index(self):
7 return "Hello"
8
9 @cherrypy.expose
10 def greet(self, name=None):
11 return "Hello "+name
12
13 cherrypy.quickstart(Content())

Если запустить приложение, приведенное в примере 1.1, и в адресной строке вебброузера ввести адрес http://localhost:8080/, тем самым вы обратитесь к методу index (строки 67) и должны получить в ответ строку «Hello», а если ввести адрес http://localhost:8080/greet?name=Dojo, произойдет обращение к методу greet (строки 1011), который обработает параметр name из строки запроса и вернет ответ «Hello Dojo». Это самый типичный пример, проще которого невозможно придумать, и к тому же он демонстрирует, насколько просто выглядит программный код на языке Python.

В этой книге от вас не требуется писать или понимать программный код на языке Python; цель предыдущего примера состояла лишь в том, чтобы показать, как легко и просто можно воспользоваться модулем CherryPy и интерпретатором Python, если вам потребуется воспроизвести свое собственное динамическое содержимое.


Замечательным руководством по языку Python может служить книга Марка Лутца (Mark Lutz) «Learning Python» (O’Reilly)1, если вам когдалибо потребуется писать более сложный программный код на языке Python.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Dojo на эту тему:
dojo.addOnLoad
dojo.byId
dojo.connect
Исследование Dijit
Исследование Dojo с помощью Firebug