1- from django .contrib import messages
1+ from django .contrib .auth .forms import UserCreationForm
2+ from django .contrib .auth .models import User
3+ from django .urls import reverse_lazy
4+ from django .views .generic import ListView
25from django .contrib .auth .views import LoginView , LogoutView
3- from django .utils .translation import gettext as _
6+ #from task_manager.forms import UserRegisterForm, UserUpdateForm
7+ from django .shortcuts import render , redirect
8+ #from task_manager.models import Status, Task, Label
9+ #from task_manager.forms import StatusForm, TaskForm, LabelForm
10+ #from task_manager.filters import TaskFilter
11+ from task_manager .users .forms import CustomAuthenticationForm
12+ from django .contrib import messages
13+
414
15+ def register_view (request ):
16+ if request .method == 'POST' :
17+ form = UserCreationForm (request .POST )
18+ if form .is_valid ():
19+ form .save ()
20+ return redirect ('login' ) # После регистрации перенаправляем на вход
21+ else :
22+ form = UserCreationForm ()
23+ return render (request , 'register.html' , {'form' : form })
524
25+ class UserListView (ListView ):
26+ model = User
27+ template_name = 'users/user_list.html'
28+ context_object_name = 'users'
29+ r
30+ #
31+ # # Вход
632class UserLoginView (LoginView ):
733 template_name = 'users/login.html'
8- redirect_authenticated_user = True
34+ authentication_form = CustomAuthenticationForm
935
1036 def form_valid (self , form ):
11- messages .success (self .request , _ ( "You are logged in" ) )
37+ messages .success (self .request , "Вы залогинены" )
1238 return super ().form_valid (form )
1339
40+ def get_success_url (self ):
41+ return reverse_lazy ('home' )
42+
1443
1544class UserLogoutView (LogoutView ):
45+ next_page = 'home'
46+
1647 def dispatch (self , request , * args , ** kwargs ):
17- messages .info (self .request , _ ("You are logged out" ))
18- return super ().dispatch (request , * args , ** kwargs )
48+ messages .success (request , "Вы разлогинены" )
49+ return super ().dispatch (request , * args , ** kwargs )
50+ #
51+ #
52+ #
53+ #
54+ #
55+ #
56+ #
57+ # class TaskListView(FilterView):
58+ # model = Task
59+ # filterset_class = TaskFilter
60+ # template_name = 'tasks/task_list.html'
61+ # context_object_name = 'tasks'
62+ # paginate_by = 10 # если нужна пагинация
63+ #
64+ # def get_filterset(self, filterset_class):
65+ # # Передаём request в фильтр, чтобы использовать self.request.user
66+ # return filterset_class(self.request.GET, queryset=self.get_queryset(), request=self.request)
67+ #
68+ # def get_queryset(self):
69+ # return Task.objects.all().order_by('id')
0 commit comments