Django & App Engine a value
composition

+
Fabrizio Lapiello
GDG Campania - Group Lead & Founder
Step by step
●
●
●
●
●

Introduzione a Django
Pennello di amministrazione
URL
Template
App Engine
Step 0
Introduzione a Django
Introduzione a Django
●
●
●
●

Il Framework
MTV Pattern
DBMS
Setup
○ Creazione e compilazione
○ Creazione di una view
Cos’è Django?
Un ottimo framework per progettare
sviluppare web app di successo.

e

E’ stato progettato per aumentare e m...
MTV - Model Template View
Model
contiene le classi le cui istanze rappresentano i
dati da visualizzare e manipolare.
Templ...
DBMS
Alcuni dei DBMS più noti ed utilizzati in ambiente django
Conoscenze necessarie

...tutto qui!
Qualche motivo...
...per imparare Python!
Installazione
Download:
http://www.djangoproject.com/download/
Guida all’installazione:
http://docs.djangoproject.com/en/d...
Creazione e compilazione
$ django-admin.py startproject hello
$ python manage.py runserver
Creazione di una vista - step 1
Associare prima di tutto un URL alla vista
-> http://127.0.0.1:8000/hello
Aprire il file u...
Creazione di una vista - step 2
La vista non è altro che un metodo Python che restituisce
dei
dati.
Nella root del progett...
Step 1
Pennello di amministrazione
Pannello di amministrazione
●
●
●
●
●
●

Creazione di Applicazioni
Creazione di Models
Aggiunta di un DB
ORM Integrato
Cre...
Creazione di applicazioni
E’ buona abitudine strutturare il progetto in sotto-applicazioni in modo da avere maggiore
contr...
Creazione di un Model
Modificare il file models.py nella cartella “test
from django.db import models
class Persona (models...
Aggiunta di un DB
Modificare il file settings.py nel modo seguente:
DATABASES =
{'default': {
'ENGINE': 'sqlite3', #Nome d...
ORM Integrato
“Object-Relational-Mapping”
Un ORM è una sorta di linker tra gli
oggetti e i database relazionali.
Attravers...
Creazione Pannello di Amministrazione
Aprire il file settings.py ed inserire in Installed_Apps l’
applicazione per il pann...
Creazione Pannello di Amministrazione
Associare un URL all’applicazione, quindi editare il file urls.py
come di seguito.
f...
Adattiamo i nostri models
from django.contrib import admin
[...]
[...]
admin.site.register(Persona)
Step 2
URL
Gli URL
● URL
● Creazione di un URL
URL - Uniform Resource Locator
Vantaggi di avere URL “ordinati”
● Facili da ricordare
● Appetibilità da parte dei motori d...
Creazione di un URL
In Django la creazione di un URL come il seguente
-> http://127.0.0.1:8000/hello
comporta l’associazio...
Una View più “complessa”
from django.http import HttpResponse
from accounting.models import *
def persone(request):
elenco...
Step 3
Template
Un semplice template
VIEW
from django.http import HttpResponse

TEMPLATE
<h3> Dati Personali </h3>

from django.shortcuts ...
Step 4
App Engine
Perchè e cos’è?
● Piattaforma PaaS
● Facile da utilizzare, facilmente scalabile, traffico e
archivazioni dati proporzionat...
You write the code, someone else worries about
everithing else…

…the power of cloud computing!
Launcher
App Engine Dashboard
If I can help you, scan now!
Django & Google App Engine: a value composition
Upcoming SlideShare
Loading in …5
×

Django & Google App Engine: a value composition

434 views
331 views

Published on

Event: Giffoni Open Makers Day 2013
Speaker: Fabrizio Lapiello

Questo talk è strutturato "Step by Step" per presentare in modo semplice ed intuitivo il framework Django, gli step sono incentrati sugli aspetti più appetibili e funzionali del framework fornendo informazioni di base su come utilizzarlo in ambiente Google App Engine.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
434
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Django & Google App Engine: a value composition

  1. 1. Django & App Engine a value composition + Fabrizio Lapiello GDG Campania - Group Lead & Founder
  2. 2. Step by step ● ● ● ● ● Introduzione a Django Pennello di amministrazione URL Template App Engine
  3. 3. Step 0 Introduzione a Django
  4. 4. Introduzione a Django ● ● ● ● Il Framework MTV Pattern DBMS Setup ○ Creazione e compilazione ○ Creazione di una view
  5. 5. Cos’è Django? Un ottimo framework per progettare sviluppare web app di successo. e E’ stato progettato per aumentare e migliorare la produttività nello sviluppo di web app. www.djangoproject.com
  6. 6. MTV - Model Template View Model contiene le classi le cui istanze rappresentano i dati da visualizzare e manipolare. Template contiene gli oggetti che controllano e gestiscono l’interazione dell’utente con i livelli view e model. View contiene i metodi usati per visualizzare tramite i template nella UI i dati contenuti nel model.
  7. 7. DBMS Alcuni dei DBMS più noti ed utilizzati in ambiente django
  8. 8. Conoscenze necessarie ...tutto qui!
  9. 9. Qualche motivo... ...per imparare Python!
  10. 10. Installazione Download: http://www.djangoproject.com/download/ Guida all’installazione: http://docs.djangoproject.com/en/dev/intro/install/ Documentazione ufficiale: http://docs.djangoproject.com/
  11. 11. Creazione e compilazione $ django-admin.py startproject hello $ python manage.py runserver
  12. 12. Creazione di una vista - step 1 Associare prima di tutto un URL alla vista -> http://127.0.0.1:8000/hello Aprire il file urls.py e inserire la seguente stringa come ultimo parametro : -> (r’^hello/’, “views.hello”) Espressione regolare che indica l’inizio e la fine dell’ url. Associazione Url/Vista
  13. 13. Creazione di una vista - step 2 La vista non è altro che un metodo Python che restituisce dei dati. Nella root del progetto creiamo il file views.py e inseriamo il seguente metodo: from django.http import HttpResponse def hello(request): return HttpResponse(“Hello World”)
  14. 14. Step 1 Pennello di amministrazione
  15. 15. Pannello di amministrazione ● ● ● ● ● ● Creazione di Applicazioni Creazione di Models Aggiunta di un DB ORM Integrato Creazione Pannello Models
  16. 16. Creazione di applicazioni E’ buona abitudine strutturare il progetto in sotto-applicazioni in modo da avere maggiore controllo sull’intero sistema da sviluppare. $ python manage.py startapp test Se non ci sono errori dovremmo avere nella root del progetto una cartella di nome “test” con all’interno i seguenti files __init__.py models.py views.py Indicare in Installed_Apps nel file settings.py la presenza dell’applicazione “test” inserendo semplicemente il suo nome tra virgolette in fondo alla lista.
  17. 17. Creazione di un Model Modificare il file models.py nella cartella “test from django.db import models class Persona (models.Model): nome = models.CharField(max_length=50) cognome = models.CharField(max_length=50) def __unicode__(self): return u"%s %s" % (self.nome, self.cognome) class Meta: verbose_name_plural ="Persone"
  18. 18. Aggiunta di un DB Modificare il file settings.py nel modo seguente: DATABASES = {'default': { 'ENGINE': 'sqlite3', #Nome del dbms es (oracle, mysql etc..) 'NAME': 'test.db', #Nome del db o del percorso 'USER': '', #Nome utente 'PASSWORD': '', #Password'HOST': '', #Indirizzo del dbms 'PORT': '', #Porta } }
  19. 19. ORM Integrato “Object-Relational-Mapping” Un ORM è una sorta di linker tra gli oggetti e i database relazionali. Attraverso questo linker gli oggetti creati con un linguaggio di alto livello vengono inseriti nel database relazionale. $ python manage.py syncdb
  20. 20. Creazione Pannello di Amministrazione Aprire il file settings.py ed inserire in Installed_Apps l’ applicazione per il pannello di amministrazione come di seguito. INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.admin', )
  21. 21. Creazione Pannello di Amministrazione Associare un URL all’applicazione, quindi editare il file urls.py come di seguito. from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', (r'^admin/', include(admin.site.urls)), (r'^hello/$', "views.hello"), )
  22. 22. Adattiamo i nostri models from django.contrib import admin [...] [...] admin.site.register(Persona)
  23. 23. Step 2 URL
  24. 24. Gli URL ● URL ● Creazione di un URL
  25. 25. URL - Uniform Resource Locator Vantaggi di avere URL “ordinati” ● Facili da ricordare ● Appetibilità da parte dei motori di ricerca ● Durevole nel tempo Esempio pratico: 1. http://nomedominio.com/index.php?option=com_content&view=category&layout=blog&id=3&Itemid=17 2. http://nomedominio.com/blog/ 1) ORRIPILANTE - ASSOLUTAMENTE DA SOSTITUIRE
  26. 26. Creazione di un URL In Django la creazione di un URL come il seguente -> http://127.0.0.1:8000/hello comporta l’associazione di una vista al suddetto URL quindi, aprire il file urls.py e inserire la seguente stringa come ultimo parametro : -> (r’^persone/’, “views.persone”) Espressione regolare che indica l’inizio e la fine dell’ url. Associazione Url/Vista
  27. 27. Una View più “complessa” from django.http import HttpResponse from accounting.models import * def persone(request): elenco = "" for p in Persona.objects.all(): elenco += "%s %s <br>" % (p.nome, p.cognome) return HttpResponse(elenco)
  28. 28. Step 3 Template
  29. 29. Un semplice template VIEW from django.http import HttpResponse TEMPLATE <h3> Dati Personali </h3> from django.shortcuts import render_to_response <b>Nome:</b> {{ nome }}<br> from django.template import Context,RequestContext <b>Cognome:</b> {{ cognome }} def Trova(request, n): try: p = Persona.objects.get(nome = n) c = Context() c['nome']=p.nome c['cognome']=p.cognome return render_to_response(template.html', c, context_instance=RequestContext(request)) except: return HttpResponse("Persona non trovata")
  30. 30. Step 4 App Engine
  31. 31. Perchè e cos’è? ● Piattaforma PaaS ● Facile da utilizzare, facilmente scalabile, traffico e archivazioni dati proporzionati al crescere dell’ esigenze ● Completamente FREE (senza costi di start-up) ● 1GB di memoria e CPU/Larghezza di banda sufficienti a servire 5 MILIONI di pagine viste al mese.
  32. 32. You write the code, someone else worries about everithing else… …the power of cloud computing!
  33. 33. Launcher
  34. 34. App Engine Dashboard
  35. 35. If I can help you, scan now!

×