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.