как перенаправить другую страницу входа в систему в соответствии с типом пользователей, указанным в django admin?

#python #django #django-login #django-logging

#python #django #django-login #django-ведение журнала

Вопрос:

я создал пользователя —

  1. пользователю 1 назначена группа A
  2. пользователю 2 назначена группа B теперь я создал страницу входа в систему и после входа в систему как пользователь1 я хочу перенаправить на page1.html и если вы вошли в систему как пользователь2, то перенаправьте на page2.html для этого я написал
 def login(request):
    if request.method == 'POST': 
        user = auth.authenticate(username=request.POST['username'], password=request.POST['password'])
        if user is not None:
            auth.login(request,user)
            if user.usergroup=='A':
                return redirect('pages/page1.html')
            else:
                return redirect('pages/page2.html')
        else:
            messages.error(request,'Invalid credentials')
            return redirect('login')
            # User is authenticate  
    else:
        return render(request,'pages/login.html')
  

при этом я вошел в систему как пользователь1, получил ошибку
Ошибка атрибута в объекте / ‘User’ не имеет атрибута ‘usergroup’
пожалуйста, помогите
есть ли какой-либо другой код?

Ответ №1:

попробуйте это

 if user.groups.filter(name='A').exists():
    return redirect('pages/page1.html')
else:
    return redirect('pages/page2.html')