SlideShare ist ein Scribd-Unternehmen logo
1 von 15
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 file:

 • 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 file statici e dei template

 • ecc...
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
APPLICAZIONE DJANGO

• Si   crea con

  • ./manage.py   startapp nomeapplicazione

• file   creati

  • models.py

  • tests.py

  • views.py
MODELS.PY



• Contiene   le classi che definiscono i modelli dei dati

• E’ il
      punto principale per definire 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, file, foreign
 keys e relazioni many to many
VIEWS.PY


• Contiene    tutte le view dell’applicazione

• La   logica dell’applicazione risiede qui

• Da   qui vengono lanciati i template
TEMPLATE



• Sono   normali file 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 configurazione per personalizzare
 l’interfaccia 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

Weitere ähnliche Inhalte

Ähnlich wie Corso Python Deltapromo - Lezione 4

Presentazione django reminiscence
Presentazione django reminiscencePresentazione django reminiscence
Presentazione django reminiscenceAndrea Gottardi
 
Drupal Lessons by nois3lab
Drupal Lessons by nois3labDrupal Lessons by nois3lab
Drupal Lessons by nois3labnois3lab
 
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. #wmf15Andrea 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 compositionOpen Makers Italy
 
Drupal
DrupalDrupal
DrupalNaLUG
 
ProgettoTAG: introduzione a Wordpress
ProgettoTAG: introduzione a WordpressProgettoTAG: introduzione a Wordpress
ProgettoTAG: introduzione a WordpressAlessandro Grechi
 
Slide typescript - xe dotnet - Codemotion Rome 2015
Slide typescript - xe dotnet - Codemotion Rome 2015Slide typescript - xe dotnet - Codemotion Rome 2015
Slide typescript - xe dotnet - Codemotion Rome 2015Codemotion
 
CakePhp Linux Day Torino '09
CakePhp Linux Day Torino '09CakePhp Linux Day Torino '09
CakePhp Linux Day Torino '09Francesco 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 WORLDDotNetCampus
 
Slide typescript - net campus
Slide typescript - net campusSlide typescript - net campus
Slide typescript - net campusDotNetCampus
 
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 8Wellnet 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 8Eugenio 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 migrationAndrea 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 ServerAlessandro Alpi
 
Dot netcampus2015 green-template
Dot netcampus2015 green-templateDot netcampus2015 green-template
Dot netcampus2015 green-templateDotNetCampus
 
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 TypeScriptSinergia Totale
 
Azure dayroma java, il lato oscuro del cloud
Azure dayroma   java, il lato oscuro del cloudAzure dayroma   java, il lato oscuro del cloud
Azure dayroma java, il lato oscuro del cloudRiccardo Zamana
 

Ähnlich wie Corso Python Deltapromo - Lezione 4 (20)

Presentazione django reminiscence
Presentazione django reminiscencePresentazione django reminiscence
Presentazione django reminiscence
 
Tesi8
Tesi8Tesi8
Tesi8
 
Drupal Lessons by nois3lab
Drupal Lessons by nois3labDrupal Lessons by nois3lab
Drupal Lessons by 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
 
Dominopoint meet the experts 2015 - XPages
Dominopoint   meet the experts 2015 - XPagesDominopoint   meet the experts 2015 - XPages
Dominopoint meet the experts 2015 - XPages
 
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
 
Drupal
DrupalDrupal
Drupal
 
ProgettoTAG: introduzione a Wordpress
ProgettoTAG: introduzione a WordpressProgettoTAG: introduzione a Wordpress
ProgettoTAG: introduzione a Wordpress
 
Slide typescript - xe dotnet - Codemotion Rome 2015
Slide typescript - xe dotnet - Codemotion Rome 2015Slide typescript - xe dotnet - Codemotion Rome 2015
Slide typescript - xe dotnet - Codemotion Rome 2015
 
CakePhp Linux Day Torino '09
CakePhp Linux Day Torino '09CakePhp Linux Day Torino '09
CakePhp Linux Day Torino '09
 
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
 
Slide typescript - net campus
Slide typescript - net campusSlide typescript - net campus
Slide typescript - net campus
 
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
 
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
 
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
 
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
 
Dot netcampus2015 green-template
Dot netcampus2015 green-templateDot netcampus2015 green-template
Dot netcampus2015 green-template
 
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...
 
DotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScriptDotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScript
 
Azure dayroma java, il lato oscuro del cloud
Azure dayroma   java, il lato oscuro del cloudAzure dayroma   java, il lato oscuro del cloud
Azure dayroma java, il lato oscuro del cloud
 

Mehr von Paolo Ferretti

Multi container applications with docker
Multi container applications with dockerMulti container applications with docker
Multi container applications with dockerPaolo 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 SudPaolo Ferretti
 
Corso Python Deltapromo - Lezione 3
Corso Python Deltapromo - Lezione 3Corso Python Deltapromo - Lezione 3
Corso Python Deltapromo - Lezione 3Paolo Ferretti
 
Corso Python Deltapromo lezione 1
Corso Python Deltapromo   lezione 1Corso Python Deltapromo   lezione 1
Corso Python Deltapromo lezione 1Paolo Ferretti
 
Corso Python Deltapromo - Lezione 2
Corso Python Deltapromo - Lezione 2Corso Python Deltapromo - Lezione 2
Corso Python Deltapromo - Lezione 2Paolo Ferretti
 

Mehr von Paolo Ferretti (6)

Multi container applications with docker
Multi container applications with dockerMulti container applications with docker
Multi container applications with docker
 
OpenStreetMap
OpenStreetMapOpenStreetMap
OpenStreetMap
 
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
 
Corso Python Deltapromo - Lezione 3
Corso Python Deltapromo - Lezione 3Corso Python Deltapromo - Lezione 3
Corso Python Deltapromo - Lezione 3
 
Corso Python Deltapromo lezione 1
Corso Python Deltapromo   lezione 1Corso Python Deltapromo   lezione 1
Corso Python Deltapromo lezione 1
 
Corso Python Deltapromo - Lezione 2
Corso Python Deltapromo - Lezione 2Corso Python Deltapromo - Lezione 2
Corso Python Deltapromo - Lezione 2
 

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 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

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n