20 lines
924 B
Python
20 lines
924 B
Python
"""
|
|
Миксины для представлений.
|
|
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)
|