• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

Andrei_

Green Team
04.08.2020
67
2
BIT
0
Доброго времени суток, при создании авторизации отказался от велосипеда LoginView, так как переопределение и переделывание под то, что мне надо, займет гораздо больше времени, чем если написать самому
К сути проблемы:
Вот некоторые поля модели
Python:
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")
Кусок кода из вьюшки авторизации:
Python:
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 получить не удается

Что делать?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!