decorators.py 697 B

12345678910111213141516171819202122
  1. from django.core.exceptions import PermissionDenied
  2. from django.utils.translation import gettext_lazy as _
  3. def deny_authenticated(f):
  4. def decorator(request, *args, **kwargs):
  5. if request.user.is_authenticated():
  6. raise PermissionDenied(
  7. _("This page is not available to signed in users."))
  8. else:
  9. return f(request, *args, **kwargs)
  10. return decorator
  11. def deny_guests(f):
  12. def decorator(request, *args, **kwargs):
  13. if request.user.is_anonymous():
  14. raise PermissionDenied(
  15. _("This page is not available to guests."))
  16. else:
  17. return f(request, *args, **kwargs)
  18. return decorator