CherryPy - Applicazione demo

In questo capitolo, ci concentreremo su come viene creata un'applicazione nel framework CherryPy.

Prendere in considerazione Photoblogapplicazione per l'applicazione demo di CherryPy. Un'applicazione Photoblog è un normale blog ma il testo principale saranno le foto al posto del testo. Il problema principale dell'applicazione Photoblog è che lo sviluppatore può concentrarsi maggiormente sulla progettazione e sull'implementazione.

Struttura di base - Design delle entità

Le entità progettano la struttura di base di un'applicazione. Le seguenti sono le entità per l'applicazione Photoblog:

  • Film
  • Photo
  • Album

Quello che segue è un diagramma delle classi di base per la relazione di entità:

Struttura del design

Come discusso nel capitolo precedente, la struttura di progettazione del progetto sarebbe come mostrato nella seguente schermata:

Considera l'applicazione data, che ha sottodirectory per l'applicazione Photoblog. Le sottodirectory sono Photo, Album e Film che includerebbero controllers.py, models.py e server.py.

Funzionalmente, l'applicazione Photoblog fornirà API per manipolare queste entità tramite la tradizionale interfaccia CRUD: Crea, Recupera, Aggiorna ed Elimina.

Connessione al database

Un modulo di archiviazione include una serie di operazioni; connessione con il database essendo una delle operazioni.

Trattandosi di un'applicazione completa, la connessione con il database è obbligatoria per API e per mantenere le funzionalità di Crea, Recupera, Aggiorna ed Elimina.

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

L'arena nel codice precedente sarà la nostra interfaccia tra il gestore di archiviazione sottostante e il livello di logica aziendale.

La funzione connect aggiunge un gestore di archiviazione all'oggetto arena per un RDBMS PostgreSQL.

Una volta ottenuta la connessione, possiamo creare moduli secondo le esigenze aziendali e completare il funzionamento dell'applicazione.

La cosa più importante prima della creazione di qualsiasi applicazione è entity mapping e progettare la struttura dell'applicazione.