Приветствую Тостер!!!
Есть задача нужно сделать авторизацию пользователя через email или логин(один field).
Это означает, что на странице авторизации есть два поля: Логин/Email и пароль.
Также нужно прописать соответствующие ошибки.
Моя реализация простой авторизации.
views.py
class RegisterFormView(FormView):
form_class = UserCreationForm
print form_class
success_url = "/info/login/"
template_name = "register.html"
def form_valid(self, form):
form.save()
return super(RegisterFormView, self).form_valid(form)
class LoginFormView(FormView):
form_class = AuthenticationForm
template_name = "login.html"
success_url = '/info/'
def form_valid(self, form):
self.user = form.get_user()
login(self.request, self.user)
return super(LoginFormView, self).form_valid(form)
class LogoutView(View):
def get(self, request):
logout(request)
return HttpResponseRedirect("/info/")
urls.py
url(r'^login/$',views.LoginFormView.as_view(),name='login')
url(r'^logout/$', views.LogoutView.as_view(), name='logout')
шаблон
<!DOCTYPE html>
<html>
<head>
<title>Авторизация</title>
</head>
<body>
<form action="{%url 'login' %}" method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">LOGIN</button>
</form>
</body>
</html>
Что нужно добавить/изменить!??!