Структура Django позволяет очень легко реализовать в основной аутентификации, позвольте мне показать вам один быстрый и простой пример этого.
Начнем с создания проекта
django-admin startproject simple_authentication_project
Создайте “MyApp” внутри этого
python manage.py startapp myapp
Мы сделаем три просмотра внутри MyApp .i.e. login_page, home_page, logout_page
Страница авторизации
# login page def login_page(request): if request.method == "POST": user = authenticate( username=request.POST["username"], password=request.POST["password"] ) if user: login(request, user) return redirect(home_page) else: return render(request, "login.html", {"error": "Invalid login"}) else: return render(request, "login.html", {"error": ""})
В просмотре входа в систему все, что нам нужно сделать, это взять имя пользователя и пароль из простой формы HTML, а затем передать функцию «Authenticate ()» с объектом запроса. Если пользователь существует, функция аутентификации вернет объект пользователя, и если нет, он не вернет нет. Если мы получим пользовательский объект, все, что нам нужно сделать, это передать этот пользовательский объект функции «login ()», которая войдет в систему пользователя.
Домашняя страница
# home page @login_required(login_url="/login") def home_page(request): return render(request, "home.html", {})
Мы дали декоратор login_required для представления на главной странице, чтобы только пользователь входа в систему мог видеть страницу. Если пользователь не вошел в систему, то он перенаправляет его на страницу входа в систему.
Страница выхода
# logout page @login_required(login_url="/login") def logout_page(request): logout(request) return render(request, "logout.html", {})
Вид выхода очень прост. Все, что нам нужно сделать, это передать ему объект запроса, и он зарегистрирует зарегистрированного пользователя.
И это все … Но подождите, как насчет “login.html”, “logout.html” и “home.html”. Не волнуйтесь, в них нет ничего особенного, чтобы объяснить. Я поместил ссылку на GitHub ниже. Единственное, что вы должны помнить, это поместить линию CSRF_TOKEN в форму всякий раз, когда вы делаете запрос «POST».
Давайте проверим наше простое приложение,
Начните с создания пользователя, для простоты мы сейчас будем работать с суперпользователем,
Первый мигрируй
python manage.py migrate
Создайте супер пользователя
python manage.py createsuperuser
Наконец -то Runserver
python manage.py runserver
Теперь наш сервер работает в браузере и выполняет адрес «Localhost: 8000».
Страница авторизации
Домашняя страница
Страница выхода
Ссылка на репозиторий GitHub
https://github.com/binary-ibex/simple_authentication_django.git
Оригинал: “https://dev.to/binaryibex/django-basic-authentication-easy-peasy-2n2f”