Questo progetto mostra le linee guida per sviluppare un prototipo
creato con Postman, Python Django, HTML, e JavaScript.
Postman & Python, uno sviluppo armonioso.
Postman & Python, a harmonious development for the Web.
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
Postman&PythonDjango2017Italiano
1. Come usare Postman di accedere ai servizi di una API REST
per sviluppare un'applicazione Web con Python Django
Postman & Python:
Uno sviluppo armonioso
5. Cos’e’ un API?
“API è l'acronimo di Application Programming Interface.”
“Le API permettono di espandere le funzionalità di un programma.
Per uno sviluppatore mettere a disposizione un set di API di un suo
software significa dare la possibilità ad altri di interagire con la sua
piattaforma e, soprattutto, estendere le funzioni e le caratteristiche
della struttura base della piattaforma. ”
~ Simone Carletti
6. La Crescita Esplosiva dell’API: 2006 al 2016
Fonte: https://www.programmableweb.com/news/programmableweb-api-directory-eclipses-17000-api-economy-continues-surge/research/2017/03/13
7. Qual è la migliore API per l'applicazione?
• È facile trovare le informazioni che cerchi nella documentazione?
• È facile imparare come si costruisce la sintassi nei parametri?
WorldBankeurostat
8. L'impatto della documentazione
dell’API sullo sviluppo
Per le richieste REST in JSON:
• È disponibile il tipo di dati corretto? Lingua? Moneta? Anno-Gamma?
• Esistono esempi di stringhe / chiamate di query?
• Gli endpoint sono ben documentati?
• I parametri sono chiaramente definiti?
• È facile costruire una stringa di query?
• Quanto complesso è l'oggetto dati da analizzare nel programma?
• Devo implementare la cache client-side delle chiamate API?
• 100% Uptime / disponibilità?
11. Il prototipo deve mostrare i dati del PIL in Italia
GDP = PIL:
Prodotto Interno Lordo: Misura il valore di mercato aggregato di
tutte le merci finite e di tutti i servizi prodotti nei confini di una
nazione in un dato periodo di tempo.
12. World Bank API: Ad esempio
Come si costruisce una richiesta con parametri
http://api.worldbank.org/countries/it/indicators/NY.GDP.MKTP.CD?format=json&per_page=500&date=1975:2015
Endpoint i parametri (Query string)
13. Argomento di studio:
Documentazione dell’API World Bank
Esempio di una richiesta con i
parametri dal sito World Bank
“Developer Resources”:
- endpoint
- “countries/br/…” si referisce
al codice a due cifre ISO per
il paese (ad esempio, Brasile)
- “/indicators/” significa gli
indicatori economici
- NY.GDP.MKTP.CD
Tipo di indicatori
(il codice GDP = PIL)
14. Come si sa costruire una richiesta?
Si deve sostituire il codice del paese
Brasile (BR) con quello dell’Italia (IT )
15. Esplorare la struttura dell’oggetto:
Una richiesta all’API
Fare le prove dell’oggetto nel Browser
Fare le prove con “curl”:
NOTES: https://datahelpdesk.worldbank.org/knowledgebase/articles/902064-development-best-practices/
23. Salva la richiesta dell’API ad una collezione
Nome della richiesta.
dovrebbe essere unico
Salva la richiesta
ad una collezione,
oppure si crea una
collezione nuova.
25. La Prima App nel Django: Analista
https://docs.djangoproject.com/en/1.11/intro/tutorial01/
Entra il comando shell per iniziare un progetto:
• $ django-admin startproject mysite
Verifica che il progetto funziona…
• $ python manage.py runserver
File partizionato (su a giu):
“mysite/” e’ un contenitore per il
progetto, su di cui scegli tu il nome.
manage.py: Il programmazione ‘shell’
che ti da permesso ad interagire col
progetto Django nelle maniere diverse.
Leggi:
https://docs.djangoproject.com/en/1.1
1/ref/django-admin/
“mysite/” (dentro) e’ l’applicazione
attuale per il progetto di Python Django.
Ci vuole usare questo nome per
importare qualcos’altro, qui dentro
(e.g. mysite.urls).
26. Django Web Framework
• Un Django Project puo’ avere molte applicazioni, ed ha :
• Un’applicazione centrale
• Altre applicazioni che rappresentano un solo aspetto (accounts).
• DB: SQLite e’ solo per lo sviluppo (PostGres, MySQL, NoSQL)
• Le applicazioni devono essere registrate nel file: settings.py:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
[… ecc.]
’analista.apps.AnalistaConfig’….. (ecc)
]
28. Django si usa MTV: 3 Livelli di Astrazione
Il modello(M) Definisce classi di oggetti nel file models.py. Si definisce:
- Come si accede ai dati
- Come si convalidano i dati
- Quali sono i rapporti tra i modelli (opzionale)
Template (T) Definisce le funzioni che agiscono sui dati. Il risultato:
- Come appare una pagina Web
View (V) La logica che definisce:
- Come i template vengono presentati all’utente
31. views.py: logica che rende visibile i template
Nota bene:
Abbiamo integrato la richiesta
da prima, cio’ che:
- endpoint
- i parametri
(vedi alla sinistra)
Per vedere la stringa intera
(anche i file), guarda al sito:
https://analistapp.glitch.me
36. I Termini Economici
GDP = PIL:
Prodotto Interno Lordo: Misura il valore di mercato aggregato di
tutte le merci finite e di tutti i servizi prodotti nei confini di una
nazione in un dato periodo di tempo.
GNI = RNL:
Reddito Nazionale Lordo di un paese viene calcolato sommando
al prodotto interno lordo (PIL),
o sottraendo da esso, vari flussi di reddito tra paesi.
FDI = IDE:
Investimento Diretto all'estero.
Contabilità nazionale nella quale vengono indicati i trasferimenti
di capitale e di tecnologie da un paese all'altro.
37. Abbiamo tante delle possibilità:
Fare più ricerca sull'API per capire bene tutte le risorse disponibile
Fare più delle richieste all'API per sviluppare l'applicazione
• GNI
• FDI
• ecc.
Sviluppare più delle viste (views.py)
Sviluppare un'applicazione più completa!