В этой главе мы сосредоточимся на том, как создается приложение в CherryPy.
Рассмотрим приложение Photoblog для демонстрационного приложения CherryPy. Приложение Photoblog — это обычный блог, но основным текстом будут фотографии вместо текста. Основным преимуществом приложения Photoblog является то, что разработчик может сосредоточиться на разработке и реализации.
Базовая структура — дизайн сущностей
Сущности проектируют базовую структуру приложения. Ниже приведены объекты для приложения Photoblog —
- фильм
- Фото
- Альбом
Ниже приведена базовая диаграмма классов для отношения сущности:
Структура дизайна
Как обсуждалось в предыдущей главе, структура проекта будет такой, как показано на следующем снимке экрана —
Рассмотрим данное приложение, в котором есть подкаталоги для приложения Photoblog. Подкаталогами являются Photo, Album и Film, в которые входят controllers.py, models.py и server.py.
Функционально приложение Photoblog предоставит API для управления этими объектами через традиционный интерфейс CRUD — Create, Retrieve, Update и Delete.
Подключение к базе данных
Модуль хранения включает в себя набор операций; соединение с базой данных является одной из операций.
Поскольку это законченное приложение, соединение с базой данных является обязательным для API и для поддержки функциональности Create, Retrieve, Update и Delete.
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.
Как только соединение получено, мы можем создавать формы в соответствии с бизнес-требованиями и завершать работу приложения.
Самое важное перед созданием любого приложения — это сопоставление сущностей и проектирование структуры приложения.