Site icon Tosolini.info

Django: 01 introduzione e installazione

Partiamo con una nuova Serie di guide, questa volta dedicata a Django, il framework per il linguaggio Python.

Come requisiti è necessario conoscere le basi di Python.

Cosa fa questo prodotto Open Source? Permette di creare in full stack applicazioni web anche parecchio complesse, senza dover “riscrivere la ruota”. Viene utilizzato il ben noto paradigma MVC, ovvero Model, View e Controller.

È interessante porre l’accento che Django è sostanzialmente agnostico ai modelli di DataBase, per cui può utilizzare i più noti come SQLite3, Mysql o MariaDB, PostgreSQL e persino Oracle e Microsoft SQL.

Pre-requisiti e installazione

L’installazione di Django avviene sostanzialmente come una comune libreria di Python, installabile attraverso PIP (Package Installer for Python), ma vedremo qualcosa di più strutturato ed inerente alla realtà d’uso comune.

Come prerogativa è avere ovviamente installato Python3. Su Linux e MacOS non c’è bisogno di fare nulla, è pre-installato nel sistema. Per Windows invece occorre installare il software che trovate alla Home Page.

Come fare per verificare se abbiamo Python attivo nel sistema? chiedendoglielo attraverso un terminale:

python -V

Se non ci sono intoppi, otterrete la versione in uso. Deve essere la versione 3, Python2 non va bene, meglio se poi le sotto versioni sono superiori a 3.7.

A questo punto inizializziamo un ambiente virtuale per Python. Questa procedura, infatti, ci permette di “isolare” l’ambiente di produzione ad un singolo progetto. Ovvero, tutte le librerie che andremo ad installare saranno funzionali solo a questo progetto, senza necessariamente “sporcare” il sistema globale che nel caso di Linux e MacOS è utilizzato anche dal sistema operativo medesimo.

python -m venv miosito

questo comando non solo crea l’ambiente virtuale per il progetto “miosito” ma crea anche la cartella con il nome del progetto. Tuttavia, l’ambiente virtuale non è ancora attivo, per farlo dobbiamo dare il comando:

source miosito/bin/activate

Di solito nella voce del prompt viene modificato il nome della username o della path, dipende dal sistema in uso, anteponendo “(venv)” oppure il nome del progetto tra parentesi. Questo serve a far sapere all’utente che il virtual environment è attivo.

Finalmente siamo giunti al punto di poter installare Django. Questo software, come altri, dispone di versioni LTS (long term release) e sono quelle a cui conviene fare affidamento, in genere dando il comando base, senza argomenti, ci viene ritornata l’ultima LTS.

pip install django

Al termine della installazione possiamo provare ad avviare un nuovo progetto in Django con il comando:

cd miosito
django-admin startproject miosito

viene creata una sottocartella con il nome “miosito” dove all’interno saranno contenuti dei file, e una ulteriore cartella “miosito” con altri file.

Diciamo che questa forse è una delle cose un po’ confusionarie; infatti, spesso si riconosce un progetto Django per la curiosa ricorsività del nome del progetto che arriva ad averne fino a tre inglobate su sé stesse. Chiaramente generando disorientamento per chi è alle prime armi, poi ci si fa l’occhio e difficilmente ci si sbaglia.

Tornando alla fase di creazione, il software ha preparato per noi tutto il necessario, un database SQLite3, i settings e il “manage.py” che ci servirà in seguito. Il file models.py conterrà la parte per SQL e per prima cosa è necessario compiere una “migration” che crea le tabelle necessarie.

cd miosito
python manage.py migrate

Otterremo un output simile a questo:

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 auth.0012_alter_user_first_name_max_length... OK
  Applying sessions.0001_initial... OK

E finalmente possiamo vedere all’opera Django, sebbene con una semplice pagina di benvenuto dopo aver avviato il server di sviluppo:

python manage.py runserver


# Watching for file changes with StatReloader
# Performing system checks...
# 
# System check identified no issues (0 silenced).
# October 15, 2023 - 11:30:25
# Django version 4.2.6, using settings 'miosito.settings'
# Starting development server at http://127.0.0.1:8000/
# Quit the server with CONTROL-C.

Come verrà evidenziato nell’output a terminale, il server è attivo all’indirizzo locale http://127.0.0.1:8000/

Aprendo il nostro Browser preferito otterremo la pagina con il razzo verde.

Nella prossima puntata entriamo più nel dettaglio creando la nostra prima App.

Exit mobile version