Руководство по 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)
Объектно-ориентированный подход будет описан далее. Просто имейте в виду, что у вас есть выбор.
Продолжение: Руководство по Python Bottle (Перевод) Часть 3 - Маршрутизация запросов