Как преобразовать django fbv в представление на основе классов
У меня есть два типа пользователей a и b Мне нужно записать нижеприведенный fbv в Logoutview (auth.view), основанный на классе, как мне записать нижеприведенный fbv в cbv
views.py
@login_required
def logout(request):
if request.user.usertype_a:
logout(request)
return redirect(reverse('user_a_login'))
else:
logout(request)
return redirect(reverse('user_b_login'))
Попробуйте
from django.views import View
class LogOutView(View):
def get(self, request, *args, **kwargs):
logout(request)
if request.user.usertype_a:
return redirect(reverse('user_a_login'))
return redirect(reverse('user_b_login'))
Или вы можете использовать LogoutView и переопределить его метод диспетчеризации для пользовательских перенаправлений
Попробуйте добавить это в ваш urls.py:
from django.contrib.auth import views as auth_views
path('logout/', auth_views.LogoutView.as_view(), name='logout'),