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.