際際滷

際際滷Share a Scribd company logo
INTRODUZIONE A DJANGO
                       Lezione 4
           Paolo Ferretti per Deltapromo
 URL corso: http://corso-deltapromo.paoloferretti.net/

             http://www.paoloferretti.net
               paolo@paoloferretti.net
COS DJANGO

 Web   Framework

   insieme    di librerie di alto livello per lo sviluppo web

 Incoraggia   uno sviluppo

   rapido

   pulito

   pragmatico
COSA NON  DJANGO


 Un   pacchetto CMS tutto incluso come

  Wordpress

  Joomla

  Drupal
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
STRUTTURA DI UN
             PROGETTO DJANGO
 Creazione   di un progetto con:

  django-admin     startproject nomeprogetto

 Vengono    creati tre 鍖le:

  manage.py

  settings.py

  urls.py
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
SETTINGS.PY

 Contiene   tutte le impostazioni del progetto django

  lingua   di default

  dati   di connessione al database

  percorsi   dei 鍖le statici e dei template

  ecc...
URLS.PY


 Contiene   le informazioni per mappare le URL

 Normalmente    urls.py generale contiene gli include agli urls.py
 speci鍖ci delle applicazioni

 Le   URL sono de鍖nite tramite espressioni regolari
APPLICAZIONE DJANGO

 Si   crea con

   ./manage.py   startapp nomeapplicazione

 鍖le   creati

   models.py

   tests.py

   views.py
MODELS.PY



 Contiene   le classi che de鍖niscono i modelli dei dati

 E il
      punto principale per de鍖nire come ci si interfaccia con il
  database
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, 鍖le, foreign
 keys e relazioni many to many
VIEWS.PY


 Contiene    tutte le view dellapplicazione

 La   logica dellapplicazione risiede qui

 Da   qui vengono lanciati i template
TEMPLATE



 Sono   normali 鍖le HTML

 Contengono   istruzioni interpretate dal motore di template di
 Django
ADMIN

 Viene    autogenerato partendo da models.py e admin.py

 Deve     essere attivato esplicitamente

 admin.py  contiene la con鍖gurazione per personalizzare
 linterfaccia di admin

 simile   allo scaffold di altri framework, ma molto pi湛 solido
ALTRE UTILIT DI DJANGO

 Gestione   dei moduli web    Internazionalizzazione
 (forms)
                               Logging
 Gestione   autenticazione
 utenti                        Messaggistica

 Cache                        Paginazione

 Geolocalizzazione            Sessioni

More Related Content

Similar to Corso Python Deltapromo - Lezione 4 (20)

Presentazione django reminiscence
Presentazione django reminiscencePresentazione django reminiscence
Presentazione django reminiscence
Andrea Gottardi
Tesi8
Tesi8Tesi8
Tesi8
tryyrt
Drupal Lessons by nois3lab
Drupal Lessons by nois3labDrupal Lessons by nois3lab
Drupal Lessons by nois3lab
nois3lab
WordPress, migrazioni e re-branding: don't try this at home. #wmf15
WordPress, migrazioni e re-branding: don't try this at home. #wmf15WordPress, migrazioni e re-branding: don't try this at home. #wmf15
WordPress, migrazioni e re-branding: don't try this at home. #wmf15
Andrea Cardinali
Dominopoint meet the experts 2015 - XPages
Dominopoint   meet the experts 2015 - XPagesDominopoint   meet the experts 2015 - XPages
Dominopoint meet the experts 2015 - XPages
Dominopoint - Italian Lotus User Group
Django & Google App Engine: a value composition
Django & Google App Engine: a value compositionDjango & Google App Engine: a value composition
Django & Google App Engine: a value composition
Open Makers Italy
Drupal
DrupalDrupal
Drupal
NaLUG
ProgettoTAG: introduzione a Wordpress
ProgettoTAG: introduzione a WordpressProgettoTAG: introduzione a Wordpress
ProgettoTAG: introduzione a Wordpress
Alessandro Grechi
際際滷 typescript - xe dotnet - Codemotion Rome 2015
際際滷 typescript - xe dotnet - Codemotion Rome 2015際際滷 typescript - xe dotnet - Codemotion Rome 2015
際際滷 typescript - xe dotnet - Codemotion Rome 2015
Codemotion
Talks on my machine: Drupal CMS versus The Cool Kids
Talks on my machine: Drupal CMS versus The Cool KidsTalks on my machine: Drupal CMS versus The Cool Kids
Talks on my machine: Drupal CMS versus The Cool Kids
sparkfabrik
CakePhp Linux Day Torino '09
CakePhp Linux Day Torino '09CakePhp Linux Day Torino '09
CakePhp Linux Day Torino '09
Francesco Ronchi
TYPESCRIPT, ANGULAR E BOOTSTRAP ASSIEME PER APPLICAZIONI REAL WORLD
TYPESCRIPT, ANGULAR E BOOTSTRAP ASSIEME PER APPLICAZIONI REAL WORLDTYPESCRIPT, ANGULAR E BOOTSTRAP ASSIEME PER APPLICAZIONI REAL WORLD
TYPESCRIPT, ANGULAR E BOOTSTRAP ASSIEME PER APPLICAZIONI REAL WORLD
DotNetCampus
際際滷 typescript - net campus
際際滷 typescript - net campus際際滷 typescript - net campus
際際滷 typescript - net campus
DotNetCampus
Come sfruttare tutte le potenzialit di Symfony in Drupal 8
Come sfruttare tutte le potenzialit di Symfony in Drupal 8Come sfruttare tutte le potenzialit di Symfony in Drupal 8
Come sfruttare tutte le potenzialit di Symfony in Drupal 8
Wellnet srl
Come sfruttare tutte le potenzialit di Symfony in Drupal 8
Come sfruttare tutte le potenzialit di Symfony in Drupal 8Come sfruttare tutte le potenzialit di Symfony in Drupal 8
Come sfruttare tutte le potenzialit di Symfony in Drupal 8
Eugenio Minardi
DbUp - A real case of database migration
DbUp - A real case of database migrationDbUp - A real case of database migration
DbUp - A real case of database migration
Andrea Cirioni
PASS Virtual Chapter - Unit Testing su SQL Server
PASS Virtual Chapter - Unit Testing su SQL ServerPASS Virtual Chapter - Unit Testing su SQL Server
PASS Virtual Chapter - Unit Testing su SQL Server
Alessandro Alpi
Dot netcampus2015 green-template
Dot netcampus2015 green-templateDot netcampus2015 green-template
Dot netcampus2015 green-template
DotNetCampus
DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...
DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...
DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...
DotNetCampus
DotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScriptDotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScript
Sinergia Totale
Presentazione django reminiscence
Presentazione django reminiscencePresentazione django reminiscence
Presentazione django reminiscence
Andrea Gottardi
Tesi8
Tesi8Tesi8
Tesi8
tryyrt
Drupal Lessons by nois3lab
Drupal Lessons by nois3labDrupal Lessons by nois3lab
Drupal Lessons by nois3lab
nois3lab
WordPress, migrazioni e re-branding: don't try this at home. #wmf15
WordPress, migrazioni e re-branding: don't try this at home. #wmf15WordPress, migrazioni e re-branding: don't try this at home. #wmf15
WordPress, migrazioni e re-branding: don't try this at home. #wmf15
Andrea Cardinali
Django & Google App Engine: a value composition
Django & Google App Engine: a value compositionDjango & Google App Engine: a value composition
Django & Google App Engine: a value composition
Open Makers Italy
Drupal
DrupalDrupal
Drupal
NaLUG
ProgettoTAG: introduzione a Wordpress
ProgettoTAG: introduzione a WordpressProgettoTAG: introduzione a Wordpress
ProgettoTAG: introduzione a Wordpress
Alessandro Grechi
際際滷 typescript - xe dotnet - Codemotion Rome 2015
際際滷 typescript - xe dotnet - Codemotion Rome 2015際際滷 typescript - xe dotnet - Codemotion Rome 2015
際際滷 typescript - xe dotnet - Codemotion Rome 2015
Codemotion
Talks on my machine: Drupal CMS versus The Cool Kids
Talks on my machine: Drupal CMS versus The Cool KidsTalks on my machine: Drupal CMS versus The Cool Kids
Talks on my machine: Drupal CMS versus The Cool Kids
sparkfabrik
CakePhp Linux Day Torino '09
CakePhp Linux Day Torino '09CakePhp Linux Day Torino '09
CakePhp Linux Day Torino '09
Francesco Ronchi
TYPESCRIPT, ANGULAR E BOOTSTRAP ASSIEME PER APPLICAZIONI REAL WORLD
TYPESCRIPT, ANGULAR E BOOTSTRAP ASSIEME PER APPLICAZIONI REAL WORLDTYPESCRIPT, ANGULAR E BOOTSTRAP ASSIEME PER APPLICAZIONI REAL WORLD
TYPESCRIPT, ANGULAR E BOOTSTRAP ASSIEME PER APPLICAZIONI REAL WORLD
DotNetCampus
際際滷 typescript - net campus
際際滷 typescript - net campus際際滷 typescript - net campus
際際滷 typescript - net campus
DotNetCampus
Come sfruttare tutte le potenzialit di Symfony in Drupal 8
Come sfruttare tutte le potenzialit di Symfony in Drupal 8Come sfruttare tutte le potenzialit di Symfony in Drupal 8
Come sfruttare tutte le potenzialit di Symfony in Drupal 8
Wellnet srl
Come sfruttare tutte le potenzialit di Symfony in Drupal 8
Come sfruttare tutte le potenzialit di Symfony in Drupal 8Come sfruttare tutte le potenzialit di Symfony in Drupal 8
Come sfruttare tutte le potenzialit di Symfony in Drupal 8
Eugenio Minardi
DbUp - A real case of database migration
DbUp - A real case of database migrationDbUp - A real case of database migration
DbUp - A real case of database migration
Andrea Cirioni
PASS Virtual Chapter - Unit Testing su SQL Server
PASS Virtual Chapter - Unit Testing su SQL ServerPASS Virtual Chapter - Unit Testing su SQL Server
PASS Virtual Chapter - Unit Testing su SQL Server
Alessandro Alpi
Dot netcampus2015 green-template
Dot netcampus2015 green-templateDot netcampus2015 green-template
Dot netcampus2015 green-template
DotNetCampus
DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...
DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...
DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...
DotNetCampus
DotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScriptDotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScript
Sinergia Totale

More from Paolo Ferretti (6)

Multi container applications with docker
Multi container applications with dockerMulti container applications with docker
Multi container applications with docker
Paolo Ferretti
OpenStreetMap
OpenStreetMapOpenStreetMap
OpenStreetMap
Paolo Ferretti
Tavolo territoriale del servizio ferroviario nel Quadrante Sud
Tavolo territoriale del servizio ferroviario nel Quadrante SudTavolo territoriale del servizio ferroviario nel Quadrante Sud
Tavolo territoriale del servizio ferroviario nel Quadrante Sud
Paolo Ferretti
Corso Python Deltapromo - Lezione 3
Corso Python Deltapromo - Lezione 3Corso Python Deltapromo - Lezione 3
Corso Python Deltapromo - Lezione 3
Paolo Ferretti
Corso Python Deltapromo lezione 1
Corso Python Deltapromo   lezione 1Corso Python Deltapromo   lezione 1
Corso Python Deltapromo lezione 1
Paolo Ferretti
Corso Python Deltapromo - Lezione 2
Corso Python Deltapromo - Lezione 2Corso Python Deltapromo - Lezione 2
Corso Python Deltapromo - Lezione 2
Paolo Ferretti
Multi container applications with docker
Multi container applications with dockerMulti container applications with docker
Multi container applications with docker
Paolo Ferretti
Tavolo territoriale del servizio ferroviario nel Quadrante Sud
Tavolo territoriale del servizio ferroviario nel Quadrante SudTavolo territoriale del servizio ferroviario nel Quadrante Sud
Tavolo territoriale del servizio ferroviario nel Quadrante Sud
Paolo Ferretti
Corso Python Deltapromo - Lezione 3
Corso Python Deltapromo - Lezione 3Corso Python Deltapromo - Lezione 3
Corso Python Deltapromo - Lezione 3
Paolo Ferretti
Corso Python Deltapromo lezione 1
Corso Python Deltapromo   lezione 1Corso Python Deltapromo   lezione 1
Corso Python Deltapromo lezione 1
Paolo Ferretti
Corso Python Deltapromo - Lezione 2
Corso Python Deltapromo - Lezione 2Corso Python Deltapromo - Lezione 2
Corso Python Deltapromo - Lezione 2
Paolo Ferretti

Corso Python Deltapromo - Lezione 4

  • 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 鍖le: 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 鍖le 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 speci鍖ci delle applicazioni Le URL sono de鍖nite tramite espressioni regolari
  • 9. APPLICAZIONE DJANGO Si crea con ./manage.py startapp nomeapplicazione 鍖le creati models.py tests.py views.py
  • 10. MODELS.PY Contiene le classi che de鍖niscono i modelli dei dati E il punto principale per de鍖nire 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, 鍖le, foreign keys e relazioni many to many
  • 12. VIEWS.PY Contiene tutte le view dellapplicazione La logica dellapplicazione risiede qui Da qui vengono lanciati i template
  • 13. TEMPLATE Sono normali 鍖le 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 con鍖gurazione per personalizzare linterfaccia 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

Editor's Notes