Django Passwort ändern

Django Passwort ändern

Wir werden lernen, wie man eine Webseite erstellt, auf der der Benutzer das Passwort ändern kann, nachdem er sich auf der Django-Webseite angemeldet hat.

Erstellen einer Webseite für den Benutzer zum Ändern des Passworts in Django

Zum Beispiel haben wir ein Projekt in Django, und wir werden an diesem Projekt arbeiten, in dem wir die Anwendung der Benutzer haben. In dieser App finden wir die Datei views.py und müssen zwei notwendige Ansichten importieren.

Einer von ihnen heißt PasswordChangeView, der es uns ermöglicht, das Passwort zu ändern, und PasswordResetDoneView bestätigt, dass das Passwort zurückgesetzt wurde.

Jetzt müssen wir eine Klasse namens MyPasswordChangeView definieren, die von PasswordChangeView erbt; Innerhalb dieser Klasse deklarieren wir die Variable template_name und speichern die URL der Vorlage, wo der Benutzer das Passwort ändern wird.

In die Variable success_url müssen wir die Variable reverse_lazy() einfügen. Unterhalb des Codes müssen wir eine weitere Klasse namens MyPasswordResetDoneView erstellen und diese von PasswordResetDoneView erben.

Wir deklarieren nur die Variable template_name innerhalb dieser Klasse und speichern den Pfad des Templates zu dieser Variablen template_name; dann müssen wir es speichern und diese Ansichten in der Datei urls.py registrieren.

Datei views.py:

from django.shortcuts import render
from django.urls import reverse_lazy
from django.contrib.auth.views import PasswordChangeView,PasswordResetDoneView

class MyPasswordChangeView(PasswordChangeView):
    template_name='users/password-change.html'
    success_url=reverse_lazy('users:password-change-done-view')

class MyPasswordResetDoneView(PasswordResetDoneView):
    template_name='users/password-reset-done.html'

Wir erstellen eine urls.py-Datei in der Anwendung des Benutzers und importieren dann unsere Ansichten in die von uns erstellte Datei.

Dann müssen wir eine Variable namens app_name erstellen, die gleich users ist, was unser App-Name ist. Unterhalb der Zeile erstellen wir eine urlpatterns-Liste, in der wir Views mit URLs integrieren.

Erstellen Sie eine Variable und URL-Muster

Wir werden Vorlagen erstellen, aber bevor wir irgendwo hingehen, müssen wir den Benutzerpfad zu urlpatterns des Hauptprojekts in die urls.py-Datei aufnehmen. Lassen Sie uns einen neuen Pfad unterhalb der movies für die Benutzer erstellen, und der namespace sollte mit der App übereinstimmen; Nachdem Sie den Code geschrieben haben, speichern Sie ihn.

URL-Muster der Datei urls.py

Jetzt können wir zurück zur Benutzer-App gehen und hier drüben einen templates-Ordner erstellen; Innerhalb der templates erstellen wir einen weiteren Ordner namens users. Im Ordner users müssen wir zwei HTML-Dateien erstellen, die wir in der Datei views.py definiert haben.

Wir werden mit der Arbeit an der Datei password-change.html beginnen, also erben wir zuerst von der base.html, und danach legen wir den Blocktitel und den Blockinhalt fest, aus dem sie bestehen werden eine Form. Lassen Sie uns form action leer eingeben, und die Methode ist gleich POST, was bedeutet, dass wir es mit einer POST-Anfrage zu tun haben.

Wir müssen csrf_token in das Formular einfügen, damit Anfragen gesendet werden können. Wir erstellen eine Schaltfläche und behalten diesen Typ als submit bei, wodurch sie zu einer grünen Schaltfläche wird, indem wir eine Klasse hinzufügen.

Blocktitel und Blockinhalt

Wir werden an password-reset-done.html arbeiten, und hier müssen wir wieder von der base.html-Datei erben; Danach ist der Ansatz derselbe, aber die Syntax wird ein wenig anders sein.

Dann schreiben wir ein href-Attribut und geben den Pfadnamen für die Home-Ansicht an, damit der Benutzer durch Drücken dieser Schaltfläche erreicht wird.

href-Attribut

Als letztes müssen Sie zu home.html gehen, um eine Schaltfläche für den Zugriff auf eine Seite zu erstellen, auf der der Benutzer das Passwort ändern kann.

Schaltfläche Passwort ändern

Der Server läuft, und wir werden das Passwort über die Homepage ändern, und wir können sehen, dass der Benutzer nach der Anmeldung das Passwort ändern kann.

Passwortausgabe ändern

Salman Mehmood avatar Salman Mehmood avatar

Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.

LinkedIn