Флаг 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)