맞춤 로그인 양식을 만들려고합니다. 아래는 제가 지금까지 가지고있는 것입니다. 내 문제는 내가 무엇을해도 로그인이 결코 인증되지 않는다는 것입니다. tho에도 정확한 이메일과 비밀번호가 있습니다. 항상Django 사용자 정의 로그인은 왜 인증되지 않습니까?
올바른 사용자 이름과 비밀번호를 입력하십시오. 두 필드는 대소 문자를 구분 할 수 있습니다.
이메일과 비밀번호를 확인하기 때문에 문제라고 생각합니다.
* 이것은 내 양식입니다. *
class EmailAuthenticationForm(AuthenticationForm):
username = forms.EmailField(label=_('Email Address'))
redirect_url = forms.CharField(
widget=forms.HiddenInput, required=False)
def __init__(self, host=None, *args, **kwargs):
self.host = host
super(EmailAuthenticationForm, self).__init__(*args, **kwargs)
이 내보기입니다. **
class AccountAuthView(FormView):
template_name = 'accounts/login.html'
form_class = EmailAuthenticationForm
redirect_field_name = 'next'
def get_form_class(self):
return self.form_class
def form_valid(self, form):
auth_login(self.request, form.get_user())
return HttpResponseRedirect(form.cleaned_data['redirect_url'])
def get(self, request, *args, **kwargs):
if request.user.is_authenticated():
return HttpResponseRedirect(settings.LOGIN_REDIRECT_URL)
return super(AccountAuthView, self).get(
request, *args, **kwargs)
정말로 신임 정보가 정확합니까? 첫 걸음에서 사용자를 어떻게 만들었습니까? –
@ Daniel Roseman 그렇습니다. 내 양식이 AuthenticationForm을 확장하기 때문에 이메일과 비밀번호가 아닌 사용자 이름과 비밀번호를 확인하는 것이기 때문에 생각하십니까? – GrantU
사용자 모델을 사용자 정의해야하는 것처럼 보입니다. 기본적으로 사용자 이름과 비밀번호를 인증하려고 시도 할 것입니다. 이메일 주소가 아닙니다. – aychedee