Bottle — это WSGI-совместимый веб-фреймворк на Python. В нем отсутствуют какие-либо внешние зависимости, исключая стандартную библиотеку языка Python. С исходным кодом данного фреймворка, состоящим, кстати, всего из одного файла, можно ознакомиться здесь.
Нужно ли использовать фреймворк Bottle для веб-разработки?
Bottle великолепен для нескольких сюжетов веб-разработки. А именно:
- Прототипирование идей.
- Изучение того, как на самом деле строится веб-фреймворк.
- Построение и запуск простых веб-приложений для персональных проектов.
Пртотипирование
Прототипирование простых идей зачастую удобней делать при помощи Bottle, чем при помощи более известных фреймворков, таких как Django, потому что последние загромождены значительным количеством шаблонного кода. Структура Model-View-Template (Модель-Представление-Шаблон) для приложений Django упрощает поддержку проектов, но может быть обременительной на начальной стадии, когда мы просто играем со случайными идеями и не беспокоимся о долгосрочной структуре кода приложения.
Изучение фреймворков
Фреймворк Bottle полностью умещается в одном большом файле под названием bottle.py. Именно поэтому на примере Bottle легко изучить, как вообще работают веб-фреймворки WSGI. Все, что вам нужно узнать о том, как код вашего веб-приложения соединяется с фреймворком Bottle, содержится в этом единственном файле.
Личные проекты
При помощи фреймворка Bottle можно развернуть личный проект без использования лишних зависимостей. Если вы до этого ни разу не создавали веб-приложение на Python, вас может пугать количество необходимых действий, а также может быть непонятен их порядок. Но упаковав свой код вместе со всего одним сторонним файлом bottle.py, можно некоторые шаги пропустить.
Ресурсы по Bottle
- Настройка Python 3, Bottle и Gunicorn для разработки на Ubuntu 16.04 LTS (Configuring Python 3, Bottle and Gunicorn for Development on Ubuntu 16.04 LTS) — это краткое руководство по подготовке готовой среды для создания веб-приложений на базе фреймворка Bottle в операционной системе Ubuntu 16.04 по умолчанию. В качестве сервера WSGI здесь выступает фреймворк Green Unicorn.
- Ознакомьтесь с этими учебными пособиями по полному стеку Python Bottle, с помощью которых можно написать несколько небольших, но очень полезных веб-приложений на базе фреймворка Bottle:
- Создание гистограммы при помощи Bokeh, Bottle и Python 3 (Creating Bar Chart Visuals with Bokeh, Bottle and Python 3).
- Осуществление телефонных звонков при помощи веб-приложения на Bottle (Dialing Outbound Phone Calls with a Bottle Web App).
- Как контролировать веб-приложения Python (How to Monitor Python Web Applications).
- Ответ на SMS при помощи Python и Bottle (Replying to SMS Text Messages with Python and Bottle).
- Digital Ocean предлагает обширный вводный пост по фреймворку Bottle.
- «Первые шаги с Python и Bottle» (First Steps with Python and Bottle) — это краткое четырехминутное видео, созданное для помощи разработчикам в запуске простейшего из возможных веб-приложений Bottle. В блоге есть также сопутствующий пост с кодом, рассмотренным в видео.
- Статья «Начало работы с Python, Bottle и Twilio SMS / MMS» (Getting Started with Python, Bottle and Twilio SMS / MMS) показывает, как создать простое веб-приложение Bottle, которое может отправлять и получать SMS и MMS сообщения.
- «Как совершать и принимать телефонные звонки с помощью Python, Bottle и Twilio Voice» (How to Make and Receive Phone Calls with Python, Bottle and Twilio Voice) — аналогичное руководство для начинающих по обработке телефонных звонков с помощью приложения Bottle с использованием Twilio.
- Пособие «Разработка при помощи Bottle» (Developing with Bottle) подробно описывает, как создать базовое приложение с помощью фреймворка Bottle.
- В официальном руководстве по Bottle подробно рассматриваются основные концепции и функции данного фреймворка.
- Статья «Работа приложения Bottle с Gunicorn» (Running a Bottle app with Gunicorn) показывает, как запустить простое веб-приложение Bottle с Green Unicorn.
- Здесь вы найдете небольшой фрагмент кода для создания RESTful API при помощи Bottle и MongoDB.
- Статья «Bottle с полным стеком без Django» (BOTTLE, FULL STACK WITHOUT DJANGO) показывает, как можно подключить SQLAlchemy к Bottle и создать веб-приложение с использованием данного фреймворка.
- Заметка «Использование bottle.py» (Using bottle.py in production) дает несколько полезных советов по развертыванию приложений на основе фреймворка Bottle.
- Статья «Шаблоны Jinja2 и Bottle» (Jinja2 Templates and Bottle) показывает, как использовать Jinja вместо встроенного движка шаблонов для визуализации страниц в фреймворке Bottle.
- Автор статьи «Шаблоны Python» (Python patterns) для бэкенд веб-разработки выбрал три фреймворка, Bottle, Peewee и Celery. Для работы с ними он использует текстовый редактор Vim.
Проекты на Bottle с открытым исходным кодом
- Pattle — это клон pastebin, построенный на фреймворке Bottle.
- Decanter — это библиотека для структурирования проектов на Bottle.
- В репозитории compare-python-web-frameworks можно найти пример приложения, использующего Bottle в качестве одной из возможных реализаций.
Чеклист для изучения фреймворка Bottle.
- Загрузите Bottle или установите его при помощи команды
pip install bottle
на ваш локальный компьютер, который вы будете использовать для веб-разработки. - Тщательно проработайте официальное руководство по Bottle.
- Начните писать ваше Bottle-приложение, опираясь на ваше знание официального руководства и читая при этом приведенные выше примеры.
- Разместите ваше приложение в сети, используя, например, данное пособие.