Как сделать функцию login_user для сайта на django?

Пользователь

от maymie , в категории: Python , 7 месяцев назад

Как сделать функцию login_user для сайта на django?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от johnpaul.blick , 7 месяцев назад

@maymie 

Вот пример реализации функции login_user для сайта на Django:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from django.contrib.auth import authenticate, login
from django.shortcuts import render, redirect

def login_user(request):
    if request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password']
        user = authenticate(request, username=username, password=password)
        
        if user is not None:
            login(request, user)
            return redirect('home')  # перенаправляем пользователя на главную страницу после успешного входа
        else:
            return render(request, 'login.html', {'error': 'Неверное имя пользователя или пароль.'})
    else:
        return render(request, 'login.html')


Эта функция принимает POST-запрос с данными пользователя (имя пользователя и пароль), а затем использует функцию authenticate для проверки введенных данных. Если данные верны, функция login авторизует пользователя и перенаправляет его на главную страницу. В противном случае, пользователю отображается сообщение об ошибке.


Примечание: Предполагается, что для данной функции уже создана соответствующая HTML-форма в файле login.html.