|
Spiegazione dei fondamenti di Django |
|
|
|
Scritto da Matteo Parrucci
|
|
lunedì 14 gennaio 2008 |
Cos'è Django?"Django è un Web framework Python di alto livello che incoraggia la rapidità di sviluppo ed una progettazione pulita e orientata alla praticità."
Questa è la definizione (miseramente tradotta da me) di Django che viene data sul sito ufficiale e sebbene lo abbia iniziato a studiare da poco vi assicuro che mantiene quello che promette.
Su che principio si basa Django?
La cosa che più mi è piaciuta di Django è che rende quasi obbligatoria l'applicazione del principio DRY (Dont Repeat Yourself) che spiego meglio in questo post . In sostanza applicando questo principio si cerca di evitare la duplicazione dell'informazione per ridurre la possibilità di errori ed aumentare l'indipendenza tra gli elementi di un progetto.
Dove si manifesta il principio DRY?Questo principio è applicato in tutto il framework dall'inizio alla fine rendendo quasi impossibili inutili e dannose ripetizioni. Modello vista e template trattano infatti 3 aspetti ortogonali e mai in contatto tra loro del framework.
Unico punto di contatto (dove sarebbero possibili ripetizioni) che ho trovato finora è tra la definizione degli URL ed il modello ma con un po' di buon senso è facile evitare duplicazioni.
Come è fatto Django?Di seguito una breve carrellata delle principali caratteristiche di questo framework:
Object-relational mapper (ORM):Dà la possibilità di mappare gli oggetti su Database relazionali. In parole povere significa che scrivendo delle semplici classi Python si ottiene un databse ed un'interfaccia intuitiva ma molto potente verso il database stesso. Resta comunque la possibilità di scrivere l'SQL per i più affezionati.
Area di Amministrazione generata automaticamente:Django mette a disposizione una semplice ma efficacissima area amministrativa che ad ogni campo del modello associa un'interfaccia semplice e veloce di inserimento e modifica dei dati.
Sistema di creazione degli URL semplice ed elegante:Con semplici espresioni regolari si associano gli URL a specifiche viste che li trattano separatamente.
Sistema per la gestione della Cache:
Si può utilizzare memcached o un qualsiasi altro framework di caching. E' semplice impostare granularità del caching.
Internazionalizzazione:Django fornisce il pieno supporto per applicazioni multi-lingua, permettendoti di specificare stringhe di traduzione e mettendo a disposizione funzionalità specifiche per ogni lingua.
In conclusione:Un gran bel mix di ottime idee improntate alla massima semplicità porta Django ad essere uno dei framework più promettenti del prossimo futuro. Aspettando la release 1.0 e le API definitive vi invito a scoprire questa creatura che i suoi sviluppatori definiscono così: Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
Quota questo articolo sul tuo sito
Solo gli utenti registrati possono lasciare commenti Loggati o registrati. |