Как в Django добавить обязательный вход для всего приложения?

Предположим, у меня есть 3 приложения на моем Django сайте app_1, app_2, app_3. app_1 и app_2 может получить доступ любой пользователь, но для app_3 я хочу, чтобы пользователь вошел в систему.

Используя login_required я могу добиться этого. Но у меня более 30 представлений и урлов. Я не хочу писать декоратор login_required на каждой функции представления. Есть ли какой-нибудь другой способ?

Для этой цели существует пакет pypi под названием django-login-required-middelware.

Просто установите его с помощью:

pip install django-login-required-middleware

Затем добавьте login_required.middleware.LoginRequiredMiddleware к MIDDLEWARE в settinggs.py после django.contrib.auth.middleware.AuthenticationMiddleware

Вернуться на верх