Авторизация и выход
Django предоставляет встроенные функции представления для работы с авторизацией и выходом пользователя (а так же ещё для некоторых вещей), но прежде чем мы начнём их использовать, рассмотрим«вручную»как пользователи авторизуются и выходят. Django предоставляет в django.contrib.auth две функции для выполнения таких действий:authenticate()
иlogin()
.
Для авторизации следует использовать функциюlogin()
. Она принимает объектыHttpRequest
иUser
, сохраняет идентификатор пользователя в сессии, используя соответствующий механизм.
Этот пример показывает как можно совместно использовать эти функции в представлении:
Для выхода пользователя следует использовать функциюlogout()
. Она принимает объектHttpRequest
и не возвращает ничего:
По умолчанию, представление login использует шаблонregistration/login.html
(вы можете указать на другой шаблон, передав дополнительный аргумент в представление, template_name). Эта форма нужна для отображения полей username и password. Простой шаблон может выглядеть так:
Если пользователь ввёл всё правильно, он перенаправляется по умолчанию на страницу /accounts/profile/.