Provare Django era nella mia to-do-list da parecchio, ma per un motivo o l’altro non ho mai avuto il tempo materiale di farlo. Con le recenti festività non ho avuto scuse, ed inoltre ero in cerca di una buona motivazione per riprendere a spippolare con Python.
Tanto per fare le presentazioni:
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
Un pregio di questo framework è l’abbondante documentazione: se vi fate un giro sul sito ufficiale potete farvene un idea.
Inoltre cercando su google si trovano le più disparate risorse, a partire dal Django Book (e anche in italiano c’è un nutrito gruppo di discussione).
Per adesso non ho materiale per esprimere giudizi ma la prima impressione è stata molto più che buona: la sola gestione dell’amministrazione l’ho trovata di una praticità incredibile. Se anche voi siete intenzionati a provarlo, seguono i miei appunti sull’installazione (sono incappato nei classici problemini).
Se invece siete già pratici sono graditissime segnalazioni di risorse, anche le più disparate!
Appunti sulla mia installazione (su Ubuntu 7.10)
Nel sito ufficiale di Django, nel tutorial introduttivo al framework, viene trattata l’installazione in maniera molto dettagliata. Io non ho installato da trunk ma, per prigrizia, ho fatto un bel:
sudo apt-get install python-django
In questo modo mi sono ritrovato Django 0.96 bello pronto e funzionante. Il lato negativo di installare da APT è che non si ha controllo su dove viene installato il pacchetto: per cercare i file di template ci ho perso davvero del tempo e alla fine ho trovato tutto in /usr/share/python-support/python-django/django.
Seconda cosa importanta da fare è stata pensare al database. Se come me anche voi avete intenzione di utilizzare MySQL, ricordatevi innanzitutto di installare MySQLdb:
sudo apt-get install python-mysqldb
Io personalmente avevo gia installato MySQL, in precedenza, tramite XAMPP. Per questo motivo ho avuto problemi ad interfacciarmi al database da Django (che tra l’altro utilizza un piccolo web server indipendente per lavorare in locale).
Il problema stava nel fatto che Django cercava il socket per interfacciarsi al server del database in /var/run/mysqld/mysqld.sock mentre, a causa di XAMPP il mio socket di MySQL era invece in /opt/lampp/var/mysql/mysql.sock. Per farla breve ho creato un link simbolico:
sudo mkdir /var/run/mysqld
cd /var/run/mysqld
ln -s /opt/lampp/var/mysql/mysql.sock mysqld.sock
Questa soluzione è sporca. In realtà la cosa migliore da fare sarebbe stata quella di disinstallare XAMPP e re-installare MySQL a parte: in ogni caso funziona benissimo anche così.
3 commenti
Ne ho sentito parlare davvero tanto su Django…
Però non ho ben capito i reali vantaggi nell’utilizzare questo framework.. C’è qualche “case study” da esaminare in modo da capire come può cambiare il modo di sviluppo dei propri siti?
Ad esempio, io ho trovato Playground Blues, però non riesco a capire quale sia la differenza tra un sito Wordpress con relativi plugin rispetto ad uno costruito con Django… E’ più semplice, più versatile?
Intanto ti faccio i complimenti per il sito e per la collaborazione con Html.it, ovviamente ti seguo tramite feed :)
Ciao Damiano,
la differenza con Wordpress è che quest’ultimo è un CMS, mentre Django è un framework che serve per sviluppare applicazione/CMS.
I vantaggi si hanno a seconda di quello che ci devi fare, ma questo vale per qualsiasi altro strumento a prescindere da Django.
Per dire, se tu volessi creare un blog allora potresti appoggiarti a qualcosa si gia costruito come WP, ma se tu volessi creare un clone di Reddit dovresti scrivertelo da zero. I framework di questo tipo servono per velocizzare lo sviluppo.
Forse è più corretto fare paragoni del tipo “per questa applicazione che ho in mente è meglio Django o Rails?”. Però non saprei risponderti perché non ho molto esperienza nel campo.
Grazie dei complimenti :)
Grazie per la risposta tempestiva :)
Da quanto ho capito, con Django si costruiscono applicazioni di ogni sorta, tutto dipende dall’esigenze di chi lo usa.. Mentre i CMS in generale sono modellati per ambiti ben precisi, come Wordpress per i blog e quindi personalizzarli snatura la loro funzione originaria…
Comunque cercherò di approfondire l’argomento perché ho intenzione di costruire il mio portfolio/sito personale e sono un po’ confuso tra tutte queste possibilità: wordpress, expression engine, movable type, django, ecc :D
Un trackback
[…] Alessio Di Domizio: Se anche voi siete intenzionati a provarlo, seguono i miei appunti sull’installazione (sono incappato nei classici problemini). Se invece siete già pratici sono graditissime segnalazioni di risorse, anche le più disparate! … […]