Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 207

долж-

ны увидеть следующее:

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