@Andrei1penguin1

Как исправить неверный вывод request.user в django?

Доброго времени суток, при создании авторизации отказался от велосипеда LoginView, так как переопределение и переделывание под то, что мне надо, займет гораздо больше времени, чем если написать самому
К сути проблемы:
Вот некоторые поля модели
class User(AbstractUser):
    username = models.CharField(max_length=100, null=True, blank=True, unique=True)
    login = models.CharField(max_length=100, verbose_name="Логин", blank=False, default="NULL")
    password = models.CharField(max_length=100, verbose_name="Пароль", blank=False, default="Null")

Кусок кода из вьюшки авторизации:
from django.views.generic import View
from django.contrib import auth
from myapp.models import User


class Login(View):
    def post(self, request):
        login = request.POST.get("username", "")
        password = request.POST.get("password", "")
        login_objects = [login.get("login") for login in User.objects.all().values()]
        if login in login_objects:
            if User.objects.filter(login = login).values()[0].get("password") == password:
                user = auth.authenticate(login=login, password=password)
                auth.login(request, user)
                try:
                    return render (request, "page.html")
                finally:
                    return redirect("url_page")

Также есть зарегистрированный суперпользователь

И в любом месте в любом время request.user выдает админа, даже AnonymousUser получить не удается

Что делать?
  • Вопрос задан
  • 239 просмотров
Пригласить эксперта
Ответы на вопрос 2
@rodion4dev
Наверное, всё дело в том, что у Вас не передопределена настройка AUTH_USER_MODEL. Предлагаю покопать в этом направлении, поскольку, если мне память не изменяет, в объект запроса пользователь попадает на основе именно той настройки.
Ответ написан
alternativshik
@alternativshik
написана какая-то дичь.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы