A new love - Django framework
Avendo deciso di ributtarmi a capofitto nel fantastico mondo del webdesign, mi sono studiato in giro le varie soluzioni per uno sviluppo rapido e coerente delle proprie applicazioni web. Per chi avesse dormito negli ultimi 10 anni, sono finiti infatti i tempi dello sviluppo pseudo-artigianale con il notepad: oggi esistono soluzioni ben più complete che permettono di sfruttare appieno le conoscenze acquisite in questo settore, che implementano con successo molti dei design pattern più utili. Tuttavia questo entusiasmo ha portato a una massiccia proliferazione di framework e content management system variegati, con il risultato che il termine della ricerca lascia nella testa un senso di confusione e indecisione: quale framework scelgo per lo sviluppo della mia applicazione web?
La domanda è complessa, e non è facile dare una risposta unica senza tenere conto delle esigenze particolari di ognuno. Tuttavia, per quanto mi riguarda penso di aver trovato la soluzione. Dopo aver dato un’occhiata veloce a vari framework PHP (tra cui CakePHP e Zend Framework) e al celeberrimo Ruby on Rails (per gli amici RoR), mi sono imbattuto in Django … e dopo aver completato il tutorial in un’oretta mi sono sentito molto sollevato. E’proprio quello che cercavo!
Lasciamo perdere lo slogan
The web framework for perfectionists with deadlines
che è praticamente uguale a quello di tutti gli altri framework, quindi non aggiunge nulla al discorso (sono tutti convinti che la propria soluzione sia la più very agile Object Relational Mapped fast template system bla bla blah). Andiamo subito ai fattori che mi hanno convinto di più:
- E’un framework Python: ora io non voglio iniziare guerre di religione su quale sia il linguaggio migliore per il webdesign. Tuttavia, pur non conoscendo bene Python, sono stato in grado da subito di scrivere codice in modo molto intuitivo ed elegante. Su questo punto potete leggere un po’di pareri sparsi: qui,qui e qui giusto per iniziare
- Pur non essendo ancora uscita la release 1.0 (siamo a 0.95) è utilizzato in parecchi progetti e ha una buona comunità con cui interagire
- La gestione del backend è semplicemente spettacolare. Tutti noi sappiamo quanto sia palloso programmarsi da soli le aree di login, i form di inserimento dati, i check sui permessi e così via. Basta dare una rapida occhiata a questo tutorial per capire come assieme al framework venga fornita un interfaccia di backend di tutto rispetto e completamente personalizzabile, sia nel modo di gestire i form, sia nella grafica. E tale personalizzazione viene effettuata al momento di definire il modello dati
- Il framework viene fornito di default con tutti i pacchetti più comuni per la gestione dei principali problemi di web-design: ORM, URL Rewriting, sistema di templating, gestione cache e internazionalizzazione. Da questo punto di vista Django è molto più maturo rispetto a quanto visto, ad esempio, in CakePHP
Vorrei concludere questa breve panoramica con una nota: io credo che Django sia ottimo soprattutto come motore per un sito “editoriale”, cioè per gestire una community dove si voglia permettere ai partecipanti di inserire dei materiali sul sito. Inoltre potrebbe tornare utile anche per gestire cataloghi on-line. Visto che per il momento il mio obbiettivo principale è il refactoring di tgplanes.com, questo è un punto che ha giocato un ruolo determinante nella mia scelta.
Unico punto a sfavore: come siamo messi con gli hosting python-enabled in Italia? Ci sarà da rivolgersi oltreoceano, o passare ad un Virtual Server? Chi sa qualcosa parli ora o taccia per sempre!
Sarà solamente un flirt, o si andrà verso il matrimonio? Solo il tempo potrà dirlo 





baldo said
Ottobre 31 2006 @ 2:19 am
io un mesetto fa mi ero guardato una serie di screencast molto belli..
stasera dopo aver letto il tuo post ho provato ad installare il tutto e sul mac è una cosa da veri geek (tra l’altro non sono riuscito perche’ non so come aggiungere stringhe al path di osx).
Ma perche’ non fanno un cazzo di installer per poveri deficienti come me?
baldo said
Novembre 2 2006 @ 12:27 am
allora vortex… dopo un mercoledi’ passato ad installare il tutto ce l’ho fatta.. e la prima paginetta di tutorial è andata..
se venissi online potremmo lavorare insieme ed aiutarci brutto lameraccio che non sei altro!
Darksky said
Novembre 3 2006 @ 4:05 pm
Tagliolino, che grado di alfabetizzazione nerdoso-informatica ci vuole per smanettare e fare robe decenti con ’sto coso ?
Vortexmind said
Novembre 4 2006 @ 12:36 pm
Beh … per fare il modello dati bisogna avere nozioni di basi di dati (perlomeno sapere che cos’è una relazione uno-tanti, tanti-tanti, uno uno e foreign key).
Io per ora mi sto concentrando su quello perchè sto facendo un modello dati con i controcazzi
Per il resto fai conto che bisogna programmare in Python.
fabio said
Novembre 19 2006 @ 3:06 pm
Ragazzi ,conosco python e mi sono fissato che vorrei installare per provarlo questo django per fare un mio piccolo sito personale .. unico problema (cioe’ problema gigante) su windows non riesco a farlo andare e insomma mettermi linux solo per fare qualche prova mi sembra troppo , vorrei prima conoscerlo . insomma mi serve un piccolo aiuto . Grazie a tutti i pazienti e i volenterosi che vogliano aiutarmi
ludo said
Novembre 24 2006 @ 12:07 pm
Django è fenomenale, come giustamente dici soprattutto per i siti di taglio editoriale (anche se io lo uso per la classifica dei blog che di editoriale ha proprio poco).
Sarebbe bello creare un gruppo su google per gli utenti italiani di Django.
fabio, è abbastanza semplice:
* installi Python per windows da http://www.python.org (prendi il 2.4)
* installi le librerie per MySQL http://sourceforge.net/projects/mysql-python
* installi elementtree da http://effbot.org (scompatti, entri nel folder e dal prompt dos scrivi python setup.py install)
* installi django
Vortexmind said
Novembre 24 2006 @ 2:32 pm
Ciao ludo e grazie per il tuo contributo. Per quanto riguarda il gruppo google sembra che ci sia già e conta una quarantina di iscritti. Lo trovi qui
fabio said
Novembre 25 2006 @ 4:23 pm
Grazie Ludo , ma non mi sembra propio cosi semplice come dici tu … ho fatto tutto come dici tu … anche settato i vari path e variabile d’ambiente che tu non citi .. ma ancora cio nonostante non capisco come farlo andare .. starto tutto con il comando runserver e dal browser vedo a pagina di congratulazione e poi per usarlo veramente e farmi una pagina di un sito che devo fare? non e’ poi cosi facile cmq e nemmeno troppo comodo su windows almeno … grazie per il futuro aiuto
Antonio said
Dicembre 24 2006 @ 10:08 pm
Salve, ho notato un po’ tardi questo sito,
comunque volevo dirvi che
sono riuscito a far girare django con le istruzioni sul sito di effbot
a questo indirizzo: http://effbot.org/zone/django.htm
non l’ho usato molto pero’ e non mi ha fatto una grande impressione …