1. INTRODUZIONE A DJANGO
Lezione 4
Paolo Ferretti per Deltapromo
URL corso: http://corso-deltapromo.paoloferretti.net/
http://www.paoloferretti.net
paolo@paoloferretti.net
2. COS’È DJANGO
• Web Framework
• insieme di librerie di alto livello per lo sviluppo web
• Incoraggia uno sviluppo
• rapido
• pulito
• pragmatico
3. COSA NON È DJANGO
• Un pacchetto CMS tutto incluso come
• Wordpress
• Joomla
• Drupal
4. PERCHÈ USARE DJANGO
• Elimina molti lavori ripetitivi dello sviluppo web
• Incoraggia uno sviluppo pulito
• Ottimo per la riuitilizzabilità del codice
• Alto livello di astrazione sul database
• Interfaccia di amministrazione autogenerata
5. STRUTTURA DI UN
PROGETTO DJANGO
• Creazione di un progetto con:
• django-admin startproject nomeprogetto
• Vengono creati tre file:
• manage.py
• settings.py
• urls.py
6. MANAGE.PY
• Permette di
• avviare il server di sviluppo (manage.py runserver)
• creare una nuova applicazione (manage.py startapp)
• aprire la shell python/ipython (manage.py shell)
• aprire la shell del database (manage.py dbshell)
• lanciare comandi di gestione per il progetto django
7. SETTINGS.PY
• Contiene tutte le impostazioni del progetto django
• lingua di default
• dati di connessione al database
• percorsi dei file statici e dei template
• ecc...
8. URLS.PY
• Contiene le informazioni per mappare le URL
• Normalmente urls.py generale contiene gli include agli urls.py
specifici delle applicazioni
• Le URL sono definite tramite espressioni regolari
9. APPLICAZIONE DJANGO
• Si crea con
• ./manage.py startapp nomeapplicazione
• file creati
• models.py
• tests.py
• views.py
10. MODELS.PY
• Contiene le classi che definiscono i modelli dei dati
• E’ il
punto principale per definire come ci si interfaccia con il
database
11. MODELLI
• Sono classi che si interfacciano con le tabelle del database
• Ogni classe corrisponde a una tabella
• Diversitipi di campi, con gestione di stringhe, date, file, foreign
keys e relazioni many to many
12. VIEWS.PY
• Contiene tutte le view dell’applicazione
• La logica dell’applicazione risiede qui
• Da qui vengono lanciati i template
13. TEMPLATE
• Sono normali file HTML
• Contengono istruzioni interpretate dal motore di template di
Django
14. ADMIN
• Viene autogenerato partendo da models.py e admin.py
• Deve essere attivato esplicitamente
• admin.py contiene la configurazione per personalizzare
l’interfaccia di admin
• simile allo scaffold di altri framework, ma molto più solido
15. ALTRE UTILITÀ DI DJANGO
• Gestione dei moduli web • Internazionalizzazione
(forms)
• Logging
• Gestione autenticazione
utenti • Messaggistica
• Cache • Paginazione
• Geolocalizzazione • Sessioni