Home > database >  how do i wrtite django fbv to class based view
how do i wrtite django fbv to class based view

Time:12-12

I have two user types a and b i need to write the below fbv into class based Logoutview(auth.view) how do i write the below fbv to 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'))

CodePudding user response:

Give this a try

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'))

Or you can Use LogoutView and override its dispatch method for custom redirections

CodePudding user response:

Try to add this to your urls.py:

from django.contrib.auth import views as auth_views


path('logout/', auth_views.LogoutView.as_view(), name='logout'),
  • Related