Tornado

Обновлено: 2024-03-12
2 мин

Содержание

Tornado - это еще один быстрый веб-фреймворк, который разработан для обработки больших объемов трафика в режиме реального времени.

Для начала работы с Tornado нам нужно установить его, используя команду pip:

pip install tornado
import tornado.ioloop
import tornado.web
import tornado.escape

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        items = [{'id': 1, 'name': 'Item 1'}, {'id': 2, 'name': 'Item 2'}]
        self.write(tornado.escape.json_encode(items))

class ItemHandler(tornado.web.RequestHandler):
    def get(self, id):
        item = {'id': id, 'name': 'Item ' + id}
        self.write(tornado.escape.json_encode(item))

    def post(self, id):
        item = {'id': id, 'name': self.get_argument('name')}
        self.write(tornado.escape.json_encode(item))

    def put(self, id):
        item = {'id': id, 'name': self.get_argument('name')}
        self.write(tornado.escape.json_encode(item))

    def delete(self, id):
        self.write('Item ' + id + ' deleted')

def make_app():
    return tornado.web.Application([
        (r'/', MainHandler),
        (r'/item/(\d+)', ItemHandler),
    ])

if __name__ == '__main__':
    app = make_app()
    app.listen(8888)
    tornado.ioloop.IOLoop.current().start()

В этом примере мы создаем два класса-обработчика, один для главной страницы, другой для работы с конкретным элементом. Для тестирования мы создаем два элемента и возвращаем их в формате JSON при запросе к главной странице.

Когда мы запрашиваем элемент, создается элемент соответствующий запрошенному и возвращается в формате JSON. Методы post, put и delete принимают данные из тела запроса и выполняют соответствующую операцию.

Запуск приложения осуществляется через командную строку:

python tornado_app.py

После запуска приложения, мы можем обращаться к нему через браузер по адресу http://localhost:8888/. При обращении к адресу http://localhost:8888/item/1, мы получим объект с идентификатором 1 в формате JSON.

При выполнении запроса post на тот же URL с параметрами, мы создадим новый элемент.

При запросе put мы обновим данные существующего элемента, а при выполнении delete - удалим элемент с указанным идентификатором.

Ресурсы:

Ранее FastAPI