Пользовательская форма входа в Django без входа в систему - PullRequest
0 голосов
/ 14 октября 2019

Я пытаюсь создать страницу входа для моего веб-приложения. Я могу войти в систему через официальную страницу администратора, но когда я использую свою страницу, request.user не входит в систему.

def index(request):
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')

        user = authenticate(username=username, password=password)

        if user is not None:

                login(request, user)

                return render(request, 'AllocationWebapp/browse.html', {})
        else:
            print("Invalid login details: {0}, {1}".format(username, password))
            return render(request, 'AllocationWebapp/browse.html', {'error': "Invalid login details supplied."})
    else:
        return render(request, 'AllocationWebapp/login.html', {})

пользователь настраивается правильно, но после входа в систему request.userвсе еще AnonymousUser и не вошли в систему.

1 Ответ

0 голосов
/ 03 ноября 2019

Я не мог понять, почему это не работает, используя встроенные функции authenticate и login, поэтому я использовал это в качестве обходного пути.

user = authenticate(username=username, password=password)

request.session['user'] = user.id

Затем, когда мне нужно узнать, вошел ли пользователь в систему, я просто проверяю запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...