Учебники

CherryPy — Демо-приложение

В этой главе мы сосредоточимся на том, как создается приложение в 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.

Как только соединение получено, мы можем создавать формы в соответствии с бизнес-требованиями и завершать работу приложения.

Самое важное перед созданием любого приложения — это сопоставление сущностей и проектирование структуры приложения.