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 и проектирование структуры приложения.