SlideShare a Scribd company logo
1 of 16
Download to read offline
App Engine Take Off
Aprile 2015
Python
Il framework: webapp2
GDG Milano - Paolo Dadda - 2DWeb
Milano, 15 aprile 2015
@TalentGarden, Via Merano, 16
#gae #gdgmilano
Aprile 2015
Google App Engine
Python
Il framework: webapp2
#gae #gdgmilano
Paolo Dadda
Membro IWA ITALY nr. 0307429
Professionista Web ai sensi della Legge 4/2013
Contatti:

Tel.: 393.4298004
Ufficio: Via 4 Novembre, 94 Cislago (VA)
WebSite: www.2dweb.it
Mail: info@2dweb.it
Cosa vedremo oggi?
- GET & POST con Webapp2

- Variabili via URL

- Inviare una E-Mail con Webapp2

- CodeLab !

Verrà inoltre rilasciato il codice per
“essere sempre tutti allo stesso punto”
Piano delle lezioni
Lezione 1 (Febbraio 2015)
Introduzione
Lezione 2 (Marzo 2015)
WebApp2 & Basi per uso di Model, Template, Handler
Lezione 3 (Aprile 2015)
Handler, Mail, Get, Post
Lezione 4 (Maggio 2015)
Model, Upload, Memcache
Lezione 5 (Giugno 2015)
Template, Jinja2, Exception
Lezione 6 (Luglio 2015)
Blobstore & Google Cloud Storage
Cosa succede quando viene
aperta una pagina web?
Le richieste 

sul Web
sono principalmente

GET & POST
Metodi HTTP
• L’Hypertext Transfer Protocol (HTTP)
è progettato per consentire le
comunicazioni tra client e server; è
un protocollo di richiesta-risposta tra
client e server.

• GET
• POST
• HEAD

• PUT

• DELETE

• OPTIONS

• CONNECT
HTTP: GET & POST
Il metodo GET
Si noti che la stringa query (coppie nome/valore) viene inviata nella URL di una richiesta GET:
/test/demo_form?name1=value1&name2=value2
Altre note su richieste GET:
• Possono essere memorizzati nella cache
• Rimangono nella cronologia del browser
• Possono essere aggiunte ai preferiti
• Non dovrebbero mai essere utilizzati quando si tratta di dati sensibili
• Hanno limiti di lunghezza
• Devono essere utilizzati solo per recuperare i dati
Il metodo POST
Si noti che la stringa query (coppie nome/valore) viene inviata nel corpo del messaggio HTTP di una rich. POST:
POST /test/demo_form HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2
Altre note su richieste POST:
• Non vengono mai memorizzate nella cache
• Non rimangono nella cronologia del browser
• Non possono essere aggiunte ai preferiti
• Non hanno restrizioni sulla lunghezza dei dati
Fonte: www.w3schools.com
Il framework: Webapp2
https://webapp-improved.appspot.com/
La documentazione di GAE - Python
https://cloud.google.com/appengine/docs/python/
Request GET & POST
(dalla documentazione Webapp2)
VALORI SINGOLI
VALORI MULTIPLI
DIZIONARIO
Request GET & POST
(dalla documentazione Webapp2)
VALORI SINGOLI
VALORI MULTIPLI
Forma “abbreviata”
Funziona anche per i Cookies
Leggere e Scrivere Variabili da URL
DIZIONARIO !!!
Inviare E-Mail
(dalla documentazione GAE-Python https://cloud.google.com/appengine/docs/python/mail/)
2
1
Risorse e codice:
Webapp2 sito ufficiale:

https://webapp-improved.appspot.com/

Documentazione GAE Python:

https://cloud.google.com/appengine/docs/python/ 

File e base per siti web App Engine (già visto nello scorso incontro)

https://bitbucket.org/duedweb/base-gae-python

File “allineamento” fine giornata nella cartella dedicata all’evento

http://bit.ly/eventi-gdg-milano (Aprire poi la cartella App Engine Take Off)

Indirizzo per questa slide:

http://www.slideshare.net/ilpaolino/gae-python-gdg-milano-l03
Domande?
?? ?
Pausa Caffè,
poi CodeLab! 5 minuti
CodeLab !
Realizziamo la prima parte del sito sull’Evento Tal dei Tali
• Realizzare una pagina html con un form per l’invio dei dati
• Recupero dei dati tramite POST
• FACOLTATIVO: aggiungi un controllo lato server per verificare che sia stata messa la
spunta su una checkbox
• Invio dei dati di iscrizione tramite E-Mail
• FACOLTATIVO: consultando la documentazione implementa l’invio tramite oggetto
• FACOLTATIVO: invia la mail a due indirizzi (iscritto e organizzatore)
• FACOLTATIVO: tramite una variabile nell’URL, il form funge da richiesta di contatto oppure
da iscrizione

More Related Content

Similar to Gae python gdg milano L03

Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5Andrea Dottor
 
Presentazione Corso - Parte 3
Presentazione Corso - Parte 3Presentazione Corso - Parte 3
Presentazione Corso - Parte 3Giorgio Carpoca
 
Integrazione con Visual Studio Online
Integrazione con Visual Studio OnlineIntegrazione con Visual Studio Online
Integrazione con Visual Studio OnlineDavide Benvegnù
 
Corso PHP ENAIP - lezione #04 - 28/01/2014
Corso PHP ENAIP - lezione #04 - 28/01/2014Corso PHP ENAIP - lezione #04 - 28/01/2014
Corso PHP ENAIP - lezione #04 - 28/01/2014Matteo Moro
 
SMAU Milano 2014 GAE 24/10/2014 - IWA Italy
SMAU Milano 2014 GAE 24/10/2014 - IWA ItalySMAU Milano 2014 GAE 24/10/2014 - IWA Italy
SMAU Milano 2014 GAE 24/10/2014 - IWA ItalyPaolo Dadda
 
WordPress Meetup Torino - 14 Luglio 2015
WordPress Meetup Torino - 14 Luglio 2015WordPress Meetup Torino - 14 Luglio 2015
WordPress Meetup Torino - 14 Luglio 2015Mattia Piovano
 
MuleSoft_Meetup__Official__8_.pdf
MuleSoft_Meetup__Official__8_.pdfMuleSoft_Meetup__Official__8_.pdf
MuleSoft_Meetup__Official__8_.pdfFlorence Consulting
 
Working between the clouds
Working between the cloudsWorking between the clouds
Working between the cloudsDavide Cerbo
 
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimizationAndrea Dottor
 
Sviluppare plugin per WordPress: Best Practice e Silver Bullet
Sviluppare plugin per WordPress: Best Practice e Silver BulletSviluppare plugin per WordPress: Best Practice e Silver Bullet
Sviluppare plugin per WordPress: Best Practice e Silver BulletLuca Bartoli
 
Usiamo bene WordPress
Usiamo bene WordPressUsiamo bene WordPress
Usiamo bene WordPressPaolo Valenti
 
2 Esercitazione: WordPress Parte 2
2 Esercitazione: WordPress Parte 22 Esercitazione: WordPress Parte 2
2 Esercitazione: WordPress Parte 2Andrea Gorrini
 
WPO: Ottimizzazione step-by-step del front-end di un e-commerce
WPO: Ottimizzazione step-by-step del front-end di un e-commerceWPO: Ottimizzazione step-by-step del front-end di un e-commerce
WPO: Ottimizzazione step-by-step del front-end di un e-commerceFrancesco Terenzani
 

Similar to Gae python gdg milano L03 (20)

Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5
 
Presentazione Corso - Parte 3
Presentazione Corso - Parte 3Presentazione Corso - Parte 3
Presentazione Corso - Parte 3
 
Integrazione con Visual Studio Online
Integrazione con Visual Studio OnlineIntegrazione con Visual Studio Online
Integrazione con Visual Studio Online
 
App Engine + Python
App Engine + PythonApp Engine + Python
App Engine + Python
 
Wp app studio_new
Wp app studio_newWp app studio_new
Wp app studio_new
 
Corso PHP ENAIP - lezione #04 - 28/01/2014
Corso PHP ENAIP - lezione #04 - 28/01/2014Corso PHP ENAIP - lezione #04 - 28/01/2014
Corso PHP ENAIP - lezione #04 - 28/01/2014
 
SMAU Milano 2014 GAE 24/10/2014 - IWA Italy
SMAU Milano 2014 GAE 24/10/2014 - IWA ItalySMAU Milano 2014 GAE 24/10/2014 - IWA Italy
SMAU Milano 2014 GAE 24/10/2014 - IWA Italy
 
Net core base
Net core baseNet core base
Net core base
 
WordPress Meetup Torino - 14 Luglio 2015
WordPress Meetup Torino - 14 Luglio 2015WordPress Meetup Torino - 14 Luglio 2015
WordPress Meetup Torino - 14 Luglio 2015
 
MuleSoft_Meetup__Official__8_.pdf
MuleSoft_Meetup__Official__8_.pdfMuleSoft_Meetup__Official__8_.pdf
MuleSoft_Meetup__Official__8_.pdf
 
Working between the clouds
Working between the cloudsWorking between the clouds
Working between the clouds
 
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimization
 
Sviluppare plugin per WordPress: Best Practice e Silver Bullet
Sviluppare plugin per WordPress: Best Practice e Silver BulletSviluppare plugin per WordPress: Best Practice e Silver Bullet
Sviluppare plugin per WordPress: Best Practice e Silver Bullet
 
Creare PWA con Angular
Creare PWA con AngularCreare PWA con Angular
Creare PWA con Angular
 
Usiamo bene WordPress
Usiamo bene WordPressUsiamo bene WordPress
Usiamo bene WordPress
 
2 Esercitazione: WordPress Parte 2
2 Esercitazione: WordPress Parte 22 Esercitazione: WordPress Parte 2
2 Esercitazione: WordPress Parte 2
 
Microsoft Fast - Overview
Microsoft Fast - OverviewMicrosoft Fast - Overview
Microsoft Fast - Overview
 
WPO: Ottimizzazione step-by-step del front-end di un e-commerce
WPO: Ottimizzazione step-by-step del front-end di un e-commerceWPO: Ottimizzazione step-by-step del front-end di un e-commerce
WPO: Ottimizzazione step-by-step del front-end di un e-commerce
 
Postman&PythonDjango2017Italiano
Postman&PythonDjango2017ItalianoPostman&PythonDjango2017Italiano
Postman&PythonDjango2017Italiano
 
Swagger pertutti
Swagger pertuttiSwagger pertutti
Swagger pertutti
 

Gae python gdg milano L03

  • 1. App Engine Take Off Aprile 2015 Python Il framework: webapp2 GDG Milano - Paolo Dadda - 2DWeb Milano, 15 aprile 2015 @TalentGarden, Via Merano, 16 #gae #gdgmilano
  • 2. Aprile 2015 Google App Engine Python Il framework: webapp2 #gae #gdgmilano Paolo Dadda Membro IWA ITALY nr. 0307429 Professionista Web ai sensi della Legge 4/2013 Contatti:
 Tel.: 393.4298004 Ufficio: Via 4 Novembre, 94 Cislago (VA) WebSite: www.2dweb.it Mail: info@2dweb.it
  • 3. Cosa vedremo oggi? - GET & POST con Webapp2 - Variabili via URL - Inviare una E-Mail con Webapp2 - CodeLab ! Verrà inoltre rilasciato il codice per “essere sempre tutti allo stesso punto” Piano delle lezioni Lezione 1 (Febbraio 2015) Introduzione Lezione 2 (Marzo 2015) WebApp2 & Basi per uso di Model, Template, Handler Lezione 3 (Aprile 2015) Handler, Mail, Get, Post Lezione 4 (Maggio 2015) Model, Upload, Memcache Lezione 5 (Giugno 2015) Template, Jinja2, Exception Lezione 6 (Luglio 2015) Blobstore & Google Cloud Storage
  • 4. Cosa succede quando viene aperta una pagina web?
  • 5. Le richieste 
 sul Web sono principalmente
 GET & POST
  • 6. Metodi HTTP • L’Hypertext Transfer Protocol (HTTP) è progettato per consentire le comunicazioni tra client e server; è un protocollo di richiesta-risposta tra client e server. • GET • POST • HEAD • PUT • DELETE • OPTIONS • CONNECT
  • 7. HTTP: GET & POST Il metodo GET Si noti che la stringa query (coppie nome/valore) viene inviata nella URL di una richiesta GET: /test/demo_form?name1=value1&name2=value2 Altre note su richieste GET: • Possono essere memorizzati nella cache • Rimangono nella cronologia del browser • Possono essere aggiunte ai preferiti • Non dovrebbero mai essere utilizzati quando si tratta di dati sensibili • Hanno limiti di lunghezza • Devono essere utilizzati solo per recuperare i dati Il metodo POST Si noti che la stringa query (coppie nome/valore) viene inviata nel corpo del messaggio HTTP di una rich. POST: POST /test/demo_form HTTP/1.1 Host: w3schools.com name1=value1&name2=value2 Altre note su richieste POST: • Non vengono mai memorizzate nella cache • Non rimangono nella cronologia del browser • Non possono essere aggiunte ai preferiti • Non hanno restrizioni sulla lunghezza dei dati Fonte: www.w3schools.com
  • 9. La documentazione di GAE - Python https://cloud.google.com/appengine/docs/python/
  • 10. Request GET & POST (dalla documentazione Webapp2) VALORI SINGOLI VALORI MULTIPLI DIZIONARIO
  • 11. Request GET & POST (dalla documentazione Webapp2) VALORI SINGOLI VALORI MULTIPLI Forma “abbreviata” Funziona anche per i Cookies
  • 12. Leggere e Scrivere Variabili da URL DIZIONARIO !!!
  • 13. Inviare E-Mail (dalla documentazione GAE-Python https://cloud.google.com/appengine/docs/python/mail/) 2 1
  • 14. Risorse e codice: Webapp2 sito ufficiale: https://webapp-improved.appspot.com/ Documentazione GAE Python: https://cloud.google.com/appengine/docs/python/ File e base per siti web App Engine (già visto nello scorso incontro) https://bitbucket.org/duedweb/base-gae-python File “allineamento” fine giornata nella cartella dedicata all’evento http://bit.ly/eventi-gdg-milano (Aprire poi la cartella App Engine Take Off) Indirizzo per questa slide:
 http://www.slideshare.net/ilpaolino/gae-python-gdg-milano-l03 Domande? ?? ?
  • 16. CodeLab ! Realizziamo la prima parte del sito sull’Evento Tal dei Tali • Realizzare una pagina html con un form per l’invio dei dati • Recupero dei dati tramite POST • FACOLTATIVO: aggiungi un controllo lato server per verificare che sia stata messa la spunta su una checkbox • Invio dei dati di iscrizione tramite E-Mail • FACOLTATIVO: consultando la documentazione implementa l’invio tramite oggetto • FACOLTATIVO: invia la mail a due indirizzi (iscritto e organizzatore) • FACOLTATIVO: tramite una variabile nell’URL, il form funge da richiesta di contatto oppure da iscrizione