|
| 1 | +from django.urls import reverse_lazy |
| 2 | +from django.views.generic import CreateView |
| 3 | +from django.contrib.auth.views import ( |
| 4 | + LoginView as DjangoLoginView, |
| 5 | + LogoutView as DjangoLogoutView, |
| 6 | + PasswordChangeView as DjangoPasswordChangeView, |
| 7 | + PasswordChangeDoneView as DjangoPasswordChangeDoneView, |
| 8 | + PasswordResetView as DjangoPasswordResetView, |
| 9 | + PasswordResetDoneView as DjangoPasswordResetDoneView, |
| 10 | + PasswordResetConfirmView as DjangoPasswordResetConfirmView, |
| 11 | + PasswordResetCompleteView as DjangoPasswordResetCompleteView |
| 12 | +) |
| 13 | +from .forms import CustomUserCreationForm |
| 14 | + |
| 15 | +from django.shortcuts import redirect |
| 16 | +from django.contrib.auth import logout |
| 17 | + |
| 18 | + |
| 19 | +# Signup |
| 20 | +class SignUpView(CreateView): |
| 21 | + form_class = CustomUserCreationForm |
| 22 | + template_name = 'accounts/signup.html' |
| 23 | + success_url = reverse_lazy('login') |
| 24 | + |
| 25 | + |
| 26 | +# Login |
| 27 | +class LoginView(DjangoLoginView): |
| 28 | + template_name = 'accounts/login.html' |
| 29 | + |
| 30 | + |
| 31 | +# Logout |
| 32 | +class LogoutView(DjangoLogoutView): |
| 33 | + template_name = 'accounts/logout.html' |
| 34 | + |
| 35 | + |
| 36 | +# Password Change |
| 37 | +class PasswordChangeView(DjangoPasswordChangeView): |
| 38 | + template_name = 'accounts/password_change.html' |
| 39 | + success_url = reverse_lazy('password_change_done') |
| 40 | + |
| 41 | + |
| 42 | +class PasswordChangeDoneView(DjangoPasswordChangeDoneView): |
| 43 | + template_name = 'accounts/password_change_done.html' |
| 44 | + |
| 45 | + |
| 46 | +# Password Reset |
| 47 | +class PasswordResetView(DjangoPasswordResetView): |
| 48 | + template_name = 'accounts/password_reset.html' |
| 49 | + email_template_name = 'accounts/password_reset_email.html' |
| 50 | + success_url = reverse_lazy('password_reset_done') |
| 51 | + |
| 52 | + |
| 53 | +class PasswordResetDoneView(DjangoPasswordResetDoneView): |
| 54 | + template_name = 'accounts/password_reset_done.html' |
| 55 | + |
| 56 | + |
| 57 | +class PasswordResetConfirmView(DjangoPasswordResetConfirmView): |
| 58 | + template_name = 'accounts/password_reset_confirm.html' |
| 59 | + success_url = reverse_lazy('password_reset_complete') |
| 60 | + |
| 61 | + |
| 62 | +class PasswordResetCompleteView(DjangoPasswordResetCompleteView): |
| 63 | + template_name = 'accounts/password_reset_complete.html' |
0 commit comments