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:
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.
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.
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.
Vediamo il codice di 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.
Andiamo ora a creare il file logged_out.html. È un file molto semplice che non ha bisogno di spiegazioni.
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.
Vediamo il file. Nulla di particolarmente complicato.
Vediamo il file 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.
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.
Una volta che il cambio password è completato si viene reindirizzati al template password_reset_complete.html. La procedura si conclude.
Scrivi un commento