0

Ich möchte meinen benutzerdefinierten Benutzer erweitern AbstractUser erstellen, aber wenn ich meinen benutzerdefinierten Benutzer authentifizieren möchte, geben Sie None zurück.Benutzerdefiniertes Benutzermodell erweitert AbstractUser, authenticate return Keiner

Wenn ich CustomUser erstellen() wird in der Datenbank gespeichert, aber das Passwowrd ist nicht verschlüsselt. Kann ich die Authentifizierungsfunktion von banckend default verwenden? oder ich muss ein benutzerdefiniertes Backend für meinen benutzerdefinierten Benutzer erstellen.

i hinzugefügt:

AUTH_USER_MODEL = 'mysite.customuser'

Ich denke, erstreckt AbstractUser, meine Klasse ist nicht gleiche Methode oder etwas falsch

+1

Fügen Sie Ihr benutzerdefiniertes Modell 'models.py' hinzu –

Antwort

0

GELÖST!

Das Problem war nicht AbstracUser zu erweitern, das Problem war, wenn ich den Benutzer gespeichert habe, CustomUser (username = 'myusername', password = 'mypassword'), das Passwort wird wie nur Text und Funktion authenticate() gespeichert geht damit nicht.

Es ist notwendig, Benutzer mit UserCreationForm zu speichern oder zu erweitern, am wichtigsten ist die save() Methode, da set_password() Methode verwendet wird, die ein verschlüsseltes Passwort setzt, damit die authenticate() Methode funktioniert.