IL PROGETTO DJANGO

Da GITHUB è scaricabile il progetto realizzato interamente in Django. Prima di parlare del progetto, riassumiamo le caratteristiche salienti di Django Framework.

CARATTERISTICHE DEL FRAMEWORK DJANGO

PYTHON

Django utilizza il linguaggio Python, che consente una veloce prototipizzazione ed è uno dei linguaggi più conosciuti dai programmatori, rilasciato nel lontano 1991. Inoltre dispone di varie librerie, cosicché tu non parta completamente da zero. La community è molto attiva e puoi trovare con grande facilità risorse utili.

SICUREZZA

Anche se non sei un esperto di web security, il framework Django ha una gestione molto semplice e intuitiva: le sessioni login e ORM per i database sono automatizzate in modo funzionale. Inoltre, viene aggiornato costantemente con nuove patch di sicurezza, rendendolo così perfettamente affidabile. Con Python Django utilizzi meno codici e risparmi tempo.

GUIDE

Django offre sul suo sito web le guide in inglese, molto chiare e semplici. Bisogna leggerle attentamente e prendersi tutto il tempo necessario per visionare bene il framework e solo dopo lavorarci su. Attenzione alle versioni: scaricate la guida che si riferisca alla versione di Django che avete scelto.

DEPLOY

Uno dei maggiori svantaggi di Django è il deploy. Non è infatti possibile farlo per il tramite del protocollo ftp, come accade di solito. Una soluzione è stata offerta da Google Cloud: ha messo liberamente a disposizione della comunità degli sviluppatori delle guide per scaricare il progetto.

CROSS PLATFORM

Django ha una grande portabilità, infatti permette di creare applicazioni utilizzabili su diversi sistemi operativi: mac, linux, windows. Permette di passare da un database all’altro scrivendo solo una riga di codice. Inoltre possiede al suo interno strumenti di responsività, che fanno sì che le applicazioni progettate si adattino in modo immediato alle varie risoluzioni di schermo.

SCALABILITA’

Django è altamente scalabile. Utilizza un’architettura che si basa sulle componenti shared – nothing, che rende ogni parte indipendente dalle altre. Così, è possibile aggiungere hardware a posteriori e ad ogni livello, senza intaccare tutta l’architettura. Questa è una delle motivazioni per cui Instagram si è rivolta a Django.

Secondo la portavoce del sito ReviewBox, Erika Cecchetto:

“La maggior parte dei siti e delle app vengono utilizzate su smartphone, mentre sul computer si svolgono quelle procedure più complesse che implicano lavori contemporanei su più software. Per questa ragione le applicazioni che si progettano devono essere responsive al 100%, in modo che si adattino all’uso di tablet e supporti informatici di qualunque genere”.

Django, il “framework chiavi in mano”, rappresenta un’ottima scelta per chi vuole web applicazioni di grande livello. Basti pensare che siti come: Mozilla, National Geographic, Disqus lo utilizzano. Inizialmente potrebbe sembrare un po’ lunga la parte introduttiva di formazione attraverso le guide, ma sarà necessaria per procedere spediti.

Inoltre, la presenza di un’ampia community mondiale è una garanzia, perché ogni problema sarà risolvibile attraverso il contributo degli altri utenti e ci sarà un feedback costante.

INSTALLAZIONE DEL PROGETTO

La procedura che ti sto per mostrare è stata eseguita su una macchina Ubuntu Linux 22.04. Se hai un altro sistema operativo Windows o MacOS fai riferimento alla documentazione. Come prima cosa devi scaricare il progetto da GITHUB e salvarlo in una cartella in locale. L’indirizzo è il seguente: https://github.com/malbasini/django-project. Ti elenco il software necessario:

Questi sono i prerequisiti per installare il progetto. Una volta fatta l’installazione esegui i seguenti step:

  1. Creazione dell’ambiente virtuale con il comando python3 -m venv venv, posizionandosi nella radice del progetto. Una volta creato l’ambiente il virtual environment attivalo spostandoti nella cartella venv appena creata con il comando cd venv ed esegui il seguente comando valido per Linux e MacOS:

source bin/activate

  1. Installare tutte le dipendenze, partendo da Django.
    1. pip install django
    2. pip install mysql-connector-python
    3. pip install python-decouple
    4. pip install django-phonenumber-field
    5. pip install django-crispy-forms
    6. pip install crispy-bootstrap5
    7. pip install django-widget-tweaks
    8. pip install django-summernote
    9. pip install django-recaptcha
    10. pip install pymysql
    11. pip install phonenumbers
    12. pip install six
    13. pip install certifi

Per una installazione massiva di tali dipendenze consultare il file README.md

posizionarsi nella root directory ed impartire i seguenti comandi:

    1. python3 manage.py migrate
    2. scrivere il file .env (file di configurazione) con le informazioni di MySQL e quelle del server SMTP. La secret key la puoi generare al seguente indirizzo: https://djecrety.ir/
    3. applicare le modifiche scritte nel file README.md o tramite MySqlWorkbench o da riga di comando MySQL se non disponibile.
    4. eseguire il comando python3 manage.py runserver per mettere in esecuzione il server di sviluppo sulla porta 8000.
image