CherryPy - Aplicación de demostración

En este capítulo, nos centraremos en cómo se crea una aplicación en el marco CherryPy.

Considerar Photoblogaplicación para la aplicación de demostración de CherryPy. Una aplicación de Photoblog es un blog normal, pero el texto principal serán fotos en lugar de texto. El principal problema de la aplicación Photoblog es que el desarrollador puede centrarse más en el diseño y la implementación.

Estructura básica - Diseño de entidades

Las entidades diseñan la estructura básica de una aplicación. Las siguientes son las entidades para la aplicación Photoblog:

  • Film
  • Photo
  • Album

El siguiente es un diagrama de clases básico para la relación de entidades:

Estructura de diseño

Como se discutió en el capítulo anterior, la estructura de diseño del proyecto sería como se muestra en la siguiente captura de pantalla:

Considere la aplicación dada, que tiene subdirectorios para la aplicación Photoblog. Los subdirectorios son Photo, Album y Film, que incluirían controllers.py, models.py y server.py.

Funcionalmente, la aplicación Photoblog proporcionará API para manipular esas entidades a través de la interfaz CRUD tradicional: crear, recuperar, actualizar y eliminar.

Conexión a la base de datos

Un módulo de almacenamiento incluye un conjunto de operaciones; La conexión con la base de datos es una de las operaciones.

Como es una aplicación completa, la conexión con la base de datos es obligatoria para API y para mantener la funcionalidad de Crear, Recuperar, Actualizar y Eliminar.

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())

La arena en el código anterior será nuestra interfaz entre el administrador de almacenamiento subyacente y la capa de lógica empresarial.

La función de conexión agrega un administrador de almacenamiento al objeto de arena para un RDBMS de PostgreSQL.

Una vez que se obtiene la conexión, podemos crear formularios según los requisitos comerciales y completar el trabajo de la aplicación.

Lo más importante antes de la creación de cualquier aplicación es entity mapping y diseñar la estructura de la aplicación.