Authentication
Authentication

Django

Come prima cosa ti lascio un link alla documentazione ufficiale:

https://docs.djangoproject.com/en/4.0/topics/auth/default/ La prima cosa da fare è includere al nostro file urls.py il seguente urlpatterns:

Documentation
file urls.py

Provando ad accedere ad accounts ci ritroviamo la lista dei template da creare riportati nella documentazione ufficiale. Creo una cartella templates che si trova allo stesso livello delle app e  la configuro nel file settings.py.

file settings.py

Vado a creare al suo interno la cartella registration. In questa cartella metteremo tutti i template che ci servono per l’autenticazione in Django. Creo il file login.html. Andando nella documentazione scorrendo in basso troviamo un template che possiamo utilizzare.

login.html

Ad action sembra associato un url che fa parte del template engine di Django, esso ci permette di ottenere un url in base al nome che abbiamo assegnato al percorso. Next è un parametro passato come campo nascosto dalla view che indica dove l’utente deve essere reindirizzato.

login.html
url login

Vediamo il codice di base.html.

base.html

Una volta immessi i dati nel form di login otteniamo un errore perché il redirect prodotto da next genera un errore. Possiamo ovviare andando in settings.py e impostare la home page come indirizzo di ritorno dalla login.

file settings.py

Andiamo ora a creare il file logged_out.html. È un file molto semplice che non ha bisogno di spiegazioni.

logged_out.html

Per quanto riguarda il reset password la questione è un po’ più articolata in quanto abbiamo bisogno di ben cinque file html. Il file password_reset_form.html genera una mail e il link per reimpostare la password. Ovviamente non avendo un sistema di backend in grado di inviare le e-mail useremo la console per ottenere il link tramite la costante EMAIL_BACKEND presente nel file settings.py.

Email-backend

Vediamo il file. Nulla di particolarmente complicato.

Password_reset_form.html

Vediamo il file password_reset_done.html.

password_reset_done.html

Il file password_reset_email.html serve a generare il link per il cambio password. La raccomandazione è quella di specificare una e-mail valida affinchè il link venga generato.

password_reset_email.html

Il file password_reset_confirm.html è il file dove avviene il cambio della password, controlla anche se il link generato è valido. Se non è valido viene generato un errore e si ripete la procedura.

password_reset_confirm.html

Una volta che il cambio password è completato si viene reindirizzati al template password_reset_complete.html. La procedura si conclude.

password_reset_complete.html

LINK AI POST PRECEDENTI

PREVIOUS POST LINKS

LINK AL CODICE SU GITHUB

GITHUB