Django!

by Michele

E’ il nome di un framework web ispirato da Ruby on Rails che permette di realizzare applicazioni web molto velocemente utilizzando Python. Ci sono un sacco di framework per sviluppare applicazioni web scritte in Python, la più importante è sicuramente Zope. A parte Zope, nessun altro framework ha mai integrato così bene tutto in un unico prodotto, ed ecco perché Django sta riscontrando un sacco di successo anche se la maggior di questo deve essere attribuito alla scia che si sta portando dietro Rails. Questi nuovi framework hanno interessato da subito gli sviluppatori perché portano con se il massimo in fatto di design pattern e di velocità di sviluppo. Django è basato su MVC, non è ormai più concepibile un framework web senza la separazione dei dati dalla loro rappresentazione.

Ho approfittato di questi giorni di malattia per “giocare” un pò con Django. A prima vista mi è sembrato meno completo di Rails, infatti non auto genera il codice per unit test. Diversamente da Rails, per la generazione del modello dati, si creano gli oggetti Python e si danno in pasto al comando di amministrazione che genera la base dati SQL. Questo legame forte fra oggetti del modello ed SQL permette di aggiornare il modello stesso in un unico punto. Per assurdo non è richiesta neanche la conoscenza di SQL ( almeno nella fase di setup :-) ).

In Django è presente un sistema di forwarding delle url simile a mod_rewrite e un sito per l’amministrazione. Veramente sorprendente il sito dell’amministrazione che permette automaticamente di gestire il modello dati appena creato con un’interfaccia che si auto modella.

Ho provato la versione 0.90 con MySQL 5 come db server, tutto su Mac OS X 10.4 con Python 2.3. Ho seguito il tutorial “Writing your first Django app” e in definitiva mi è sembrato interessante. Python lo conosco già da diversi anni e in Django mi ritrovo tutti i concetti di questo linguaggio. In Rails ancora fatico a capire alcune cose perché ovviamente solo da poco tempo ho messo le mani su Ruby.