Как преобразовать 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'),
Вернуться на верх