Флаг is_superuser не работает правильно после входа в систему и не перенаправляет на пользовательскую панель администратора

При попытке войти в систему с учетными данными суперпользователя она не работает должным образом и перенаправляет на домашнюю страницу вместо пользовательской страницы администратора. Система одинаково относится к суперпользователю и обычному пользователю в представлениях, но флаг is_superuser работает, когда я использую его в шаблонах, например, показывая различные ссылки в навигационной панели, и я использую сигналы для создания экземпляра пользователя.

Views.py

def custom_user_login(request):
    if request.method == "POST":
        username = request.POST.get("username", "")
        password = request.POST.get("password", "")
        user = authenticate(request, username=username, password=password)
        if request.user.is_superuser:
            login(request, user)
            return redirect("admin_page")
        else:
            login(request, user)
            return redirect("home")
    else:
        form = LoginForm()

    return render(request, "registration/login.html", {"form": form})

Models.py

class User(AbstractUser):
    first_name = models.CharField(max_length=50)
    last_name = models.CharField(max_length=50)
    email = models.EmailField(max_length=250)
    id_number = models.CharField(max_length=50)
    


class UserProfile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)


def post_user_created_signal(sender, instance, created, **kwargs):
    if created:
        UserProfile.objects.create(user=instance)


post_save.connect(post_user_created_signal, sender=User)
Вернуться на верх