def api_login_required(view_func):
"""similar to django.contrib.auth.decorators.login_required
except instead of redirecting it returns a 403 message if not
authenticated."""
@wraps(view_func)
def inner(request, *args, **kwargs):
if not request.user.is_active:
error_msg = (
'This requires an Auth-Token to authenticate the request'
)
if not settings.ENABLE_TOKENS_AUTHENTICATION: # pragma: no cover
error_msg += ' (ENABLE_TOKENS_AUTHENTICATION is False)'
raise PermissionDenied(error_msg)
return view_func(request, *args, **kwargs)
return inner
评论列表
文章目录