РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pydjSpAuInr 142 of 204 menu

Введение в авторизацию в Django

Многим сайтам нужны аккаунты: регистрация, вход, выход. Часть страниц открыта всем, часть - только тем, кто уже вошёл.

В Django за это отвечает приложение django.contrib.auth. Оно хранит пользователей в базе, проверяет логин и пароль, запоминает вход в сессии и подставляет текущего человека в request.user.

Пароль в открытом виде в базу не пишут: Django сохраняет хеш. Даже если базу украдут, исходный пароль из хеша не восстановить.

Кроме модели пользователя есть готовые куски: функции входа и выхода, декоратор «пускать только своих», классы LoginView и форма регистрации. Их разберём по отдельности в следующих уроках.

В стандартном проекте auth уже подключён: приложение в INSTALLED_APPS, а AuthenticationMiddleware - в MIDDLEWARE. Без middleware не будет удобного request.user.

Найдите в settings.py django.contrib.auth и AuthenticationMiddleware.

Своими словами: чем «вошёл на сайт» отличается от просто открытой страницы для всех?

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить