391
УПРАЖНЕНИЯ
17.1. Другие языки:
измените вызов API в программе
python_repos .py
так, чтобы на диа-
грамме отображались самые популярные проекты на других языках. Попробуйте такие
языки, как JavaScript, Ruby, C, Java, Perl, Haskell и Go.
17.2. Активные обсуждения:
на основании данных из
hn_submissions .py
постройте столбцо-
вую диаграмму самых активных обсуждений, проходящих на Hacker News. Высота каждого
столбца должна соответствовать количеству комментариев к каждой статье. Метка столбца
должна включать заголовок статьи, а сам столбец должен служить ссылкой на страницу
обсуждения этой публикации.
17.3. Тестирование python_repos.py:
в python_repos.py для проверки успешности вызова
API выводится значение
status_code
. Напишите программу
test_python_repos .py
, которая
использует модуль
unittest
для проверки того, что значение
status_code
равно 200. При-
думайте другие условия, которые могут проверяться при тестировании, — например, что
количество возвращаемых элементов совпадает с ожидаемым, а общее количество репози-
ториев превышает некоторый порог.
17.4. Дальнейшие исследования:
ознакомьтесь с документацией Plotly и GitHub API
(или Hacker News API). Используйте полученную информацию для настройки стилево-
го оформления уже построенных диаграмм или загрузите другие данные и постройте соб-
ственные визуализации.
Итоги
В этой главе вы узнали, как использовать API для написания программ, автома-
тически собирающих необходимые данные и использующих полученную инфор-
мацию для создания визуализации. Мы использовали GitHub API для получения
информации о самых популярных проектах Python на GitHub, а также в общих
чертах рассмотрели API Hacker News. Вы узнали, как с помощью пакета
Requests
автоматически выдать вызов API к GitHub и как обработать результаты этого вы-
зова. Также были описаны некоторые средства конфигурации Plotly, позволяющие
выполнить дополнительную настройку внешнего вида создаваемых диаграмм.
В последнем проекте мы используем Django для построения веб-приложения,
которое станет нашим последним проектом в этой книге.
Проект 3
Веб-приложения
18
Знакомство с Django
Современные веб-сайты в действительности представляют собой многофункцио-
нальные приложения, достаточно близкие к полноценным приложениям для
настольных систем. Python содержит мощный инструментарий для построения
веб-приложений, который называется Django. Django представляет собой
веб-
фреймворк
— набор средств, упрощающих построение интерактивных веб-сайтов.
В этой главе вы научитесь использовать Django (
http://djangoproject .com/
) для по-
строения проекта Learning Log — сетевой журнальной системы для отслеживания
информации, полученной вами по определенной теме.
Мы напишем спецификацию для этого проекта, а затем определим модели для
данных, с которыми будет работать приложение. Мы воспользуемся администра-
тивной системой Django для ввода некоторых начальных данных, а затем научимся
писать представления и шаблоны, на базе которых Django будет строить страницы
нашего сайта.
Django может реагировать на запросы страниц, упрощает чтение и запись информа-
ции в базы данных, управление пользователями и многие другие операции. В гла-
вах 19 и 20 мы доработаем проект Learning Log, а затем развернем его на сервере,
чтобы вы (и ваши друзья) могли использовать его.
Подготовка к созданию проекта
В начале работы над проектом необходимо описать проект в
спецификации
. Затем
вы создадите виртуальную среду для построения проекта.
Написание спецификации
В полной спецификации описываются цели проекта, его функциональность,
а также внешний вид и интерфейс пользователя. Как и любой хороший проект
или бизнес-план, спецификация должна сосредоточиться на самых важных аспек-
тах и обеспечивать планомерную разработку проекта. Здесь мы не будем писать
полную спецификацию, а сформулируем несколько четких целей, которые будут
задавать направление процесса разработки. Вот как выглядит спецификация:
394
Достарыңызбен бөлісу: |