ны увидеть следующее:
Say hello to my little friend: Mothra!
Оставьте bottle3.py работать еще на пару минут, чтобы мы могли попробовать
что-нибудь еще. Вы проверяли, что эти примеры работают, вводя URL в браузер
и глядя на отображаемые страницы. Вы также можете использовать клиентские
библиотеки вроде requests, чтобы они выполняли работу за вас. Сохраните этот код
как bottle_test.py:
import requests
resp = requests.get('http://localhost:9999/echo/Mothra')
if resp.status_code == 200 and \
resp.text == 'Say hello to my little friend: Mothra!':
print('It worked! That almost never happens!')
else:
print('Argh, got this:', resp.text)
Отлично! Теперь запустите этот код:
$ python bottle_test.py
В терминале вы должны увидеть следующее:
It worked! That almost never happens!
Перед вами небольшой пример юнит-теста. В главе 12 вы можете получить
более подробную информацию о том, почему тесты — это хорошо и как написать
их с помощью Python.
У фреймворка Bottle больше возможностей, чем я вам показал. В частности,
когда вызываете функцию run(), можете попробовать добавить следующие ар-
гументы:
debug=True — создает страницу отладки, если вы получаете ошибку HTTP;
reloader=True — перезагружает страницу в браузере, если вы измените хотя бы
небольшой кусочек кода.
Все это хорошо задокументировано на сайте разработчика http://bottlepy.org/
docs/dev/.
Flask
Bottle — это хороший фреймворк для того, чтобы начать работу. Но если вам нуж-
но больше возможностей, попробуйте Flask. Он был создан в 2010 году как перво-
апрельская шутка, но реакция энтузиастов вдохновила его автора, Армина Ронахера
(Armin Ronacher), на то, чтобы сделать его настоящим фреймворком. Он назвал
результат Flask («склянка»), обыгрывая название Bottle — «бутылка».
Веб-серверы
269
Flask в использовании почти так же прост, как и Bottle, но он поддерживает
множество расширений, которые могут оказаться полезными в профессиональной
веб-разработке, например аутентификацию с помощью Facebook и интеграцию
с базами данных. Этот фреймворк мне нравится больше других веб-фреймворков
Python, поскольку в нем сбалансированы простота использования и богатый набор
функций.
Пакет Flask включает в себя библиотеку package WSGI werkzeug и библиотеку
шаблонов jinja2. Вы можете установить его с помощью терминала:
$ pip install flask
Переделаем наш последний пример с использованием фреймворка Flask.
Однако для начала нам нужно внести несколько изменений.
Во Flask папка по умолчанию для статических файлов называется static, и URL