Ciao a tutti e benvenuti in questa guida su come creare la vostra prima web app o applicazione web utilizzando Django, un potente framework per Python.
Questo tutorial sarà diviso in due parti: Introduzione a Django e Creare la vostra prima web app
Che cos’è Django?
Django è un framework open source per Python, utilizzato per facilitare il processo di sviluppo di applicazioni web. Un framework aiuta il programmatore durante il development di software velocizzando gli aspetti più ripetitivi dello sviluppo.
Perché scegliere Django piuttosto che un altro framework?
Django ovviamente non è la soluzione a tutti i vostri problemi, ma ecco alcuni motivi per cui scegliere Django per creare una web app:
- Permette una realizzazione molto veloce di applicazioni web
- Django è composto da vari mini-programmi pronti all’uso come: Pannello di controllo, autenticazione utente, RSS feed, etc
- Molto sicuro: Django facilità la difesa contro attacchi come SQL injection e XSS
- Community molto ampia e documentazione ottima
Ora che abbiamo visto un’anteprima di Django, vediamo come installare questo framework e come creare la nostra prima applicazione 'Hello world'
Creare la tua prima web app con Django
Per prima cosa assicuratevi di avere Python installato sul vostro PC. Una volta installato, possiamo continuare con la guida.
1) Creare il virtual environment
Per prima cosa creiamo un virtual environment evitando di installare Django globalmente.
Se non avete virtualenv installato sul vostro pc potete ottenerlo usando il comando:
pip install virtualenv
Ora che avete installato virtualenv, vediamo come creare ed attivare il virtual environment
virtualenv djangoapp
source djangoapp/bin/activate
2) Installare Django
Per installare Django sul nostro virtual environment utilizziamo il comando:
pip install django
Ora che abbiamo installato Django con successo, passiamo alla creazione della nostra prima web app che ci mostrerà la scritta "Hello world".
3) Creare un progetto Django
Differenza fra Progetto e app
Prima di continuare dobbiamo chiarire la differenza tra progetto e app in Django.
Quando parliamo di un progetto Django ci riferiamo all’intera applicazione e tutte le sue parti.
Quando invece parliamo di app, ci riferiamo ad un sotto modulo dell’applicazione. Questa app deve essere indipendente delle altre app ed in teoria potrebbe essere spostata in un nuovo progetto e funzionare esattamente come dovrebbe.
Per creare il nostro primo progetto eseguiamo questo codice nel terminal:
django-admin startproject helloworld
Questo commando creerà la struttura del nostro progetto contenente alcuni file importanti:
manage.py
helloworld/settings.py | Utilizzato per specificare le opzioni di configurazione del nostro progetto Django.
helloworld/urls.py | Utilizzato per mappare gli URL del nostro sito con la corretta logica da eseguire.
helloworld/wsgi.py
Per verificare se il progetto è stato creato in modo corretto, possiamo eseguire il server Django (dalla stessa directory del file manage.py) utilizzando il comando:
python manage.py runserver
Dopo aver eseguito questo comando possiamo aprire il browser e navigare all’URL: localhost:8080 e dovreste vedere una schermata di conferma come questa:
Ora siamo pronti per creare la nostra prima app. Per creare l'app eseguiamo questo codice dalla stessa directory del file manage.py:
python manage.py startapp ciao
Questo commando creerà i file necessari per il funzionamento della nostra app all'interno di una cartella chiamata /ciao.
Ora siamo pronti per creare la nostra prima “view”.
Aprite il file ciao/views.py ed inserite il seguente codice:
from django.http import HttpResponse def index(request):
return HttpResponse("Hello world")
Questa è una view molto semplice che restituisce un semplice testo. Ora dobbiamo istruire Django su come e quando questa view deve essere eseguita ed inviata all’utente. Per fare ciò andiamo a creare un file all’interno della nostra app (ciao) chiamato urls.py
Dopo aver creato il file, la directory /ciao avrà questa forma:
ciao/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
urls.py
views.py
All’interno di questo file appena creato (ciao/urls.py) andiamo ad inserire questo codice:
from django.conf.urls import url from . import views urlpatterns = [
url(r'^$', views.index, name='index'), ]
Ora non ci resta che modificare il codice in helloworld/urls.py per chiamare il nostro view quando un certo URL viene richiesto dall’utente.
Modifichiamo il codice in helloworld/urls.py in questo modo:
from django.conf.urls import include, url from django.contrib import admin urlpatterns = [
url(r'^ciao/', include(ciao.urls')),
url(r'^admin/', admin.site.urls), ]
Come potete vedere questo codice importa il contenuto di ciao.urls quando il client accede all’url /ciao.
Per verificare il corretto funzionamento dell’applicazione possiamo riavviare il server Django con il comando:
python manage.py runserver
Se ora navighiamo all’URL localhost:8000/ciao dovremmo vedere nel browser la scritta “Hello world”.
Bene! Ora sapete come creare la vostra prima applicazione con Django. Spero questa guida vi sia stata di aiuto e che vi sia servita come primo passo verso la vostra carriera da sviluppatori Django.
Se avete qualsiasi domanda su questa guida o altro, non esitate a commentare in basso, risponderò immediatamente :)
Ci vediamo alla prossima. Ciao :)