CherryPy - демонстрационное приложение
В этой главе мы сосредоточимся на том, как создается приложение в среде CherryPy.
Рассматривать Photoblogприложение для демонстрационного приложения CherryPy. Приложение Photoblog - это обычный блог, но основным текстом будут фотографии вместо текста. Основная проблема приложения Photoblog заключается в том, что разработчик может больше сосредоточиться на дизайне и реализации.
Базовая структура - Дизайн сущностей
Сущности создают базовую структуру приложения. Ниже приведены объекты для приложения Photoblog -
- Film
- Photo
- Album
Ниже приведена базовая диаграмма классов для отношения сущностей -
Структура дизайна
Как обсуждалось в предыдущей главе, структура дизайна проекта будет такой, как показано на следующем снимке экрана -
Рассмотрим данное приложение, в котором есть подкаталоги для приложения Photoblog. Подкаталоги - это Photo, Album и Film, которые будут включать controllers.py, models.py и server.py.
Функционально приложение Photoblog будет предоставлять API-интерфейсы для управления этими сущностями через традиционный интерфейс CRUD - создание, получение, обновление и удаление.
Подключение к базе данных
Модуль хранения включает в себя набор операций; соединение с базой данных является одной из операций.
Поскольку это законченное приложение, соединение с базой данных является обязательным для API и для поддержки функций создания, получения, обновления и удаления.
import dejavu
arena = dejavu.Arena()
from model import Album, Film, Photo
def connect():
conf = {'Connect': "host=localhost dbname=Photoblog user=test password=test"}
arena.add_store("main", "postgres", conf)
arena.register_all(globals())
Арена в приведенном выше коде будет нашим интерфейсом между базовым менеджером хранилища и уровнем бизнес-логики.
Функция подключения добавляет диспетчер хранилища к объекту арены для СУБД PostgreSQL.
Как только соединение будет установлено, мы сможем создавать формы в соответствии с бизнес-требованиями и завершать работу приложения.
Самое главное перед созданием любого приложения - это entity mapping и проектирование структуры приложения.