Django è un Web framework in Python che può essere utilizzato per creare applicazioni Web. In questo tutorial imparerai come creare un progetto Django completo, pronto per l'uso in produzione. Se non hai ancora installato Django, imparerai come farlo nella prima parte di questo tutorial. Questo tutorial spiega come creare una semplice applicazione blog con Django. Lo scopo di questo tutorial è di avere un'idea generale di come funziona il framework, capire come i diversi componenti interagiscono tra loro e fornirti le competenze per creare facilmente un progetto Django con una funzionalità di base.
Questo tutorial tratterà i seguenti argomenti:
Installare Django
Se hai già installato Django, puoi saltare questa sezione e passare direttamente alla sezione Creare un progetto Django. Django viene fornito come pacchetto Python e quindi può essere installato in qualsiasi ambiente Python. Se non hai ancora installato Django, la seguente è una guida rapida per installare Django per lo sviluppo locale.
NB: Django 3.0 richiede versione 3.4 o successiva di Python. In questo tutorial, useremo Python 3.7.3. Se stai usando Linux o MacOS X, probabilmente hai Python installato. Se stai usando Windows, puoi scaricarlo qui .
Se non sei sicuro che Python è installato sul tuo computer, apri l'app Terminale e digita python
$ python
Se vedi qualcosa di simile al seguente, Python è installato sul tuo computer:
Python 3.7.3 (default, Jan 5 2020, 05:39:12)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Se Python non è installato sul tuo computer, installalo come seguente:
Su MacOS X, suggerisco di usare Homebrew, ti semplifica la vita. Non dimenticare di seguire le istruzioni Brew suggerisce dopo l'installazione. Installalo qui .
Apri l'app Terminale ed eseguire i seguenti comandi:
$ brew update
$ brew install python3
Su Linux Ubuntu/Debian
$ sudo apt-get update
$ sudo apt install python3
$ sudo apt install python3-pip
Creare un ambiente Python isolato con Virtualenv
Ogni volta che inizi un nuovo progetto di sviluppo web, è una buona idea creare ambienti Python isolati, in modo da poter utilizzare versioni di pacchetti diversi per progetti diversi. Un altro vantaggio dell'uso di virtualenv è che non avrai bisogno di alcun privilegio di amministratore per installare i pacchetti Python. Esegui il comando seguente nel terminale per installare virtualenv:
$ sudo -H pip3 install virtualenv
Dopo aver installato virtualenv, crea un ambiente isolato con il seguente comando:
$ virtualenv venv
Questo creerà una directory venv/, incluso il tuo ambiente Python. Tutte le librerie Python installate mentre l'ambiente virtuale è attivo andranno nella directory venv/lib/python3.7/site-packages.
Esegui il seguente comando per attivare tuo ambiente virtuale:
$ source venv/bin/activate
Il prompt del terminale includerà il nome dell'ambiente virtuale attivo racchiuso tra parentesi, come indicato di seguito:
(venv) mypc:~$
Puoi disattivare tuo ambiente virtuale in qualsiasi momento con il comando deactivate.
Puoi trovare ulteriori informazioni su virtualenv qui .
Su virtualenv, puoi usare virtualenvwrapper. Questo strumento fornisce i wrapper che semplificano la creazione e la gestione degli ambienti virtuali. Puoi trovare ulteriori informazioni su virtualenvwrapper qui .
Installare Django con pip
Ora che hai creato un ambiente virtuale, è tempo di installare Django. Esegui il comando seguente al prompt del terminale per installare Django utilizzando pip:
(venv) mypc:~/venv$ pip install Django==3.0.1
Ora verifica se Django è stato installato con successo. Esegui python su un terminale, importare Django e verificare la sua versione, come seguente:
(venv) mypc:~/venv$ python
>>> import django
>>> django.get_version()
'3.0.1'
Se ottieni l'output precedente, Django è stato installato con successo sul tuo computer ed ora puoi tuffarti nella creazione dell'applicazione.
Creare un progetto Django
Il nostro primo progetto Django è creare un blog completo. Django fornisce un comando che consente di creare una struttura di file di progetto iniziale. Esegui il seguente comando nel terminale:
$ django-admin startproject mysite
Avvertenza: Evita di nominare i progetti dopo i moduli Python o Django integrati per evitare conflitti.
Questo creerà un progetto Django con il nome mysite. Se esegui il comando cd in questa nuova directory vedrai un'altra directory chiamata mysite e un file chiamato manage.py.
Diamo un'occhiata alla struttura del progetto generata:
mysite/
manage.py
mysite/
asgi.py
__init__.py
settings.py
urls.py
wsgi.py
Questi file sono i seguenti:
- asgi.py: Questa è la configurazione per eseguire il progetto come applicazione ASGI (Asynchronous Server Gateway Interface).
- __init__.py: Un file vuoto che dice a Python di trattare la directory mysite come un modulo Python.
- settings.py: Indica le impostazioni e la configurazione del progetto e contiene le impostazioni predefinite iniziali.
- urls.py: Questo è il luogo in cui vivono i tuoi schemi URL. Ogni URL definito qui è associato a una visualizzazione.
- wsgi.py: Questa è la configurazione per eseguire il progetto come applicazione WSGI (Web Server Gateway Interface).
Il file settings.py generato contiene le impostazioni del progetto, inclusa una configurazione di base per utilizzare un database SQLite 3 ed una list denominata INSTALLED_APPS, che contiene le applicazioni Django comuni che vengono aggiunte al progetto per impostazione predefinita.
Per completare la configurazione del progetto, dovrai creare le tabelle nel database richiesto dalle applicazioni elencate in INSTALLED_APPS. Esegui il seguente comando:
$ python manage.py migrate
Vedrai il seguente output nel terminale:
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying sessions.0001_initial... OK
Le righe precedenti sono le migrazioni del database applicate da Django. Applicando le migrazioni, le tabelle per le applicazioni iniziali vengono create nel database.
Eseguire il server di sviluppo
Django viene con un server Web leggero per eseguire rapidamente tuo codice, senza dover dedicare tempo alla configurazione di un server di produzione. Quando esegui il server di sviluppo Django, esso continua a verificare le modifiche nel tuo codice.
Esegui il seguente comando:
$ python manage.py runserver
Vedrai il seguente output sul terminale:
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
January 01, 2020 - 15:48:46
Django version 3.0.1, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C
Ora che il server è in esecuzione, visita http://127.0.0.1:8000/ con il browser Web. Vedrai una pagina di "Congratulazioni!", come mostrato nella seguente schermata.
Per ora è tutto. Il prossimo tutorial è creare modelli Django in modo da poter impostare un database sul tuo blog basato su Django.
Se ti piace il mio contenuto, supportami! grazie.