from django.contrib.auth.decorators import login_required from django.http import HttpResponse from django.utils.decorators import method_decorator from django.views.generic import TemplateView from oauth2_provider.views.generic import ProtectedResourceView class AuthView(TemplateView): template_name = "index.html" class ApiEndpoint(ProtectedResourceView): def get(self, request, *args, **kwargs): return HttpResponse('Hello world!') @login_required def secret_page(request, *args, **kwargs): return HttpResponse('Secret contents!', status=200)