""" Миксины для представлений. LoginRequiredMixin при REQUIRE_LOGIN=False не требует входа (для отладки/разработки). """ from django.contrib.auth.mixins import LoginRequiredMixin as BaseLoginRequiredMixin from django.conf import settings class LoginRequiredMixin(BaseLoginRequiredMixin): """ Требует вход только если в настройках включено REQUIRE_LOGIN. При REQUIRE_LOGIN=False доступ без авторизации (для отладки). Чтобы вернуть авторизацию: REQUIRE_LOGIN=true в .env или в settings. """ def dispatch(self, request, *args, **kwargs): if getattr(settings, "REQUIRE_LOGIN", True): return super().dispatch(request, *args, **kwargs) return super(BaseLoginRequiredMixin, self).dispatch(request, *args, **kwargs)