CherryPy - Aplicativo de demonstração

Neste capítulo, vamos nos concentrar em como um aplicativo é criado no framework CherryPy.

Considerar Photoblogaplicativo para o aplicativo de demonstração do CherryPy. Um aplicativo Photoblog é um blog normal, mas o texto principal será fotos no lugar do texto. O principal problema do aplicativo Photoblog é que o desenvolvedor pode se concentrar mais no design e na implementação.

Estrutura Básica - Desenho de Entidades

As entidades projetam a estrutura básica de um aplicativo. A seguir estão as entidades para o aplicativo Photoblog -

  • Film
  • Photo
  • Album

A seguir está um diagrama de classe básico para o relacionamento da entidade -

Estrutura de Design

Conforme discutido no capítulo anterior, a estrutura de design do projeto seria conforme mostrado na imagem a seguir -

Considere o aplicativo fornecido, que possui subdiretórios para o aplicativo Photoblog. Os subdiretórios são Photo, Album e Film que incluiriam controllers.py, models.py e server.py.

Funcionalmente, o aplicativo Photoblog fornecerá APIs para manipular essas entidades por meio da interface CRUD tradicional - Criar, Recuperar, Atualizar e Excluir.

Conexão com o banco de dados

Um módulo de armazenamento inclui um conjunto de operações; conexão com o banco de dados sendo uma das operações.

Por se tratar de uma aplicação completa, a conexão com banco de dados é obrigatória para API e para manter as funcionalidades de Criar, Recuperar, Atualizar e Excluir.

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

A arena no código acima será nossa interface entre o gerenciador de armazenamento subjacente e a camada de lógica de negócios.

A função de conexão adiciona um gerenciador de armazenamento ao objeto arena para um PostgreSQL RDBMS.

Assim que a conexão for obtida, podemos criar formulários de acordo com os requisitos do negócio e concluir o funcionamento do aplicativo.

O mais importante antes da criação de qualquer aplicativo é entity mapping e projetar a estrutura do aplicativo.