Also versuche ich, die Authentifizierungsmethode in meinen Ansichten zu verwenden, aber immer "Does not exists" zurück, ich benutze MD5-Hash für mein Passwort-Feld, also ich don ‚t wissen, ob das ist das ProblemDjango - Wie authentifiziere ich ein Passwort mit MD5 Hash
forms.py
class LoginForm(forms.Form):
email = forms.EmailField()
password = forms.CharField(widget=forms.PasswordInput)
#This Method Hash the password
def clean_password(self):
clearPassNoHash = self.cleaned_data['password']
self.password = md5.new(clearPassNoHash).hexdigest()
return self.password
views.py
def auth_login(request):
args = {}
form = LoginForm(request.POST)
email = request.POST['email']
password = request.POST['password']
user = authenticate(email=email, password=password)
if user is not None:
login(request, user)
print("Exist")
else:
print("Does not exist")
I habe mit der check_password() methode (in meinen formularen) versucht das funktioniert eigentlich aber ich weiß nicht wieso ich probleme mit der authenticate habe()
------------ ----------------- UPDATE ------------------------------ -
Views.py
def auth_login(request):
args = {}
form = LoginForm(request.POST)
if form.is_valid():
username = form.cleaned_data['username']
password = form.cleaned_data['password']
user = authenticate(username=username, password=password)
if user is not None:
print("existe")
print user
else:
print user
args['form'] = form
return render(request, 'login/login.html', args)
forms.py
class LoginForm(forms.Form):
username = forms.CharField()
password = forms.CharField(widget=forms.PasswordInput)
Andere Beobachtung: Ich habe dies in meinem settings.py
mein benutzerdefinierten ModellAUTH_PROFILE_MODULE = 'StudentUsers.StudentRegistration'
und das ist das Feld Benutzername mich zu meinem Modell zu verwenden hinzufügen:
class StudentRegistration(AbstractBaseUser, models.Model):
username = models.CharField(max_length = 25, null=False, default="", unique=True)
Was ist diese Authentifizierungsmethode? und existiert der Benutzer wirklich? Und Sie sollten wirklich form.cleaned_data nach der Überprüfung dieser form.is_valid() – e4c5
Authentifizierung verwenden (E-Mail = E-Mail, Passwort = Passwort), und ja, mein Benutzer existiert – BrianCas
Es ist klar aus Ihrer Frage, dass Sie eine Authentifizierungsmethode aufrufen. Meine Frage war, was genau ist diese Authentifizierungsmethode? Woher kommt das? – e4c5