Введение в авторизацию в Django
Многим сайтам нужны аккаунты: регистрация, вход, выход. Часть страниц открыта всем, часть - только тем, кто уже вошёл.
В Django за это отвечает
приложение django.contrib.auth.
Оно хранит пользователей в базе,
проверяет логин и пароль,
запоминает вход в сессии
и подставляет текущего человека
в request.user.
Пароль в открытом виде в базу не пишут: Django сохраняет хеш. Даже если базу украдут, исходный пароль из хеша не восстановить.
Кроме модели пользователя есть
готовые куски: функции входа
и выхода, декоратор «пускать
только своих», классы
LoginView и форма
регистрации. Их разберём
по отдельности в следующих
уроках.
В стандартном проекте auth уже
подключён: приложение в
INSTALLED_APPS, а
AuthenticationMiddleware -
в MIDDLEWARE. Без
middleware не будет удобного
request.user.
Найдите в settings.py
django.contrib.auth и
AuthenticationMiddleware.
Своими словами: чем «вошёл на сайт» отличается от просто открытой страницы для всех?