EREDITARIETA’ TRA TEMPLATES

Django

L’idea principale che sta alla base del concetto di ereditarietà tra template è quello di scrivere un file HTML che chiameremo base.html in cui andremo a scrivere gran parte del codice. Il codice comune nelle altre pagine HTML andrà a finire nel template padre.

inheritance between templates

Andiamo a creare all’interno della cartella templates del progetto il file base.html successivamente andiamo sul sito di Bootstrap, copiamo lo starter template e lo incolliamo nella pagina HTML appena creata. Supponiamo ora di voler estendere homepage.html e articoloDetail.html quindi vogliamo andare a specificare il codice comune a queste due pagine nel template padre base.html. Andiamo ora a definire dei blocchi di codice in base.html all’interno dei quali andrà messo il codice delle pagine che stiamo estendendo.

base.html

I due tag evidenziati in rosso vanno a creare una sorta di finestra nel quale poi andrà specificato il codice dei template figli da inserire. Iniziamo a modificare la pagina dell’articolo, in alto scriviamo questo tag:

{% extendsbase.html %}

Cancelliamo tutto e lasciamo solo il contenuto.

Article

Quando la funzione articoloDetailView andrà a renderizzare la pagina html allora Django noterà in tag extends e andrà a mettere il contenuto compreso tra il tag block content e la fine del tag nei medesimi tag nel template padre base.html. Andiamo ora a estendere con lo stesso procedimento la homepage.html coma da figura riportato.

home

Facciamo partire il server di sviluppo e controlliamo se tutto sta funzionando.

Article Detail

IL PANNELLO DJANGO ADMIN

Django admin
Django admin

Il pannello di amministrazione è una funzionalità per soli amministratori, qualora dovessimo fare un sito aperto al pubblico, questa sezione deve rimanere privata. Andiamo nel progetto e creiamo un superuser con il comando sopra riportato. Come avrai notato nel file urls.py la sezione admin è già configurata, esiste un url per accedervi. Come detto tale pannello consente funzionalità CRUD per i nostri modelli. Vediamo come configurare il file admin.py.

admin

Ora entriamo nel pannello di amministrazione aggiungendo la parte /admin all’url della home page.

panel admin

Per rimuovere il plurale andiamo nel file models.py e modifichiamolo nel seguente modo:

model

È buona norma ogni volta che si interviene sul modello effettuare una migrazione con i comandi:

python.exe manage.py makemigrations

python.exe manage.py migrate

LINK AI POST PRECEDENTI

PREVIOUS POST LINKS

LINK AL CODICE SU GITHUB

GITHUB