Руководство по Python Bottle (Перевод) Часть 2 - Hello World

В предыдущей части мы рассмотрели установку Bottle:
Руководство по Python Bottle (Перевод) Часть 1 — Установка

В этой части мы пойдем дальше и рассмотрим простой пример приложения сайта «Hello World».

2. Простой пример («Hello World!»)
Здесь предполагается что у вас уже установлен Bottle, либо библиотека скопирована в папку проекта.

Начнем с очень простого примера «Hello World!»:

from bottle import route, run

@route('/hello')
def hello():
    return "Hello World!"

run(host='localhost', port=8080, debug=True)


Вот и всё.
Запускаем скрипт, заходим в браузере по адресу localhost:8080/hello и видим в нашем браузере на странице надпись “Hello World!”.

Разберем, как это работает:

Декоратор route() связывает URL-адрес с фрагментом кода. В нашем случае, мы связываем путь /hello с функцией hello(). Это называется маршрутом (route()) и является самой важной для понимания частью этой структуры. Вы можете задавать столько маршрутов, сколько пожелаете. Каждый раз когда Веб-браузер запросит определенный URL-адрес, будет вызвана связанная с этим адресом функция и возвращаемое этой функцией значение будет возвращено обратно Веб-браузеру.
Всё проще — простого!

Метод run() вызываемый в конце программы, запускает встроенный WEB-сервер. Он стартует с адресом Localhost (127.0.0.1) на порту 8080 и обслуживает входящие запросы, до тех пор пока вы не нажмете сочетание клавиш «Control-C». В дальнейшем сервер можно будет поменять, но для разработки нам будет вполне достаточно встроенного сервера, он не требует установки и невероятно прост в использовании — то что надо для тестирования и отладки приложения.

Так же в нашем первом приложении включен режим отладки «debug=True», этот режим очень полезен при разработке и отладке но его необходимо выключать при публикации приложения (сайта). Это надо запомнить.

Пока это просто демонстрация базовых принципов того как устроено приложение с использованием Bottle.

!!! ВАЖНО!!!
Для простоты, в большинстве примеров в этом руководстве для определения маршрутов используется декоратор route() на уровне модуля. Таким образом маршруты добавляются к глобальному «приложению по молчанию», экземпляру Bottle, который автоматически создается при первом вызове route(). Если вы предпочитаете более объектно-ориентированный подход, то можно создать отдельный объект приложения и использовать его вместо глобального:

from bottle import Bottle, run

app = Bottle()

@app.route('/hello')
def hello():
    return "Hello World!"

run(app, host='localhost', port=8080)


Объектно-ориентированный подход будет описан далее. Просто имейте в виду, что у вас есть выбор.

Продолжение следует…

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.