def get(self, request, format=None): '''List supported API endpoints''' book_api = _reverse('api-book-list', request=request) user_api = _reverse('api-user-list', request=request) rating_api = _reverse('api-rating-list', request=request) similarity_api = _reverse('api-similarity-list', request=request) data = OrderedDict() data['description'] = ('Limited Recommender System REST API') data['endpoints'] = { "books": book_api, "users": user_api, "ratings": rating_api, "similarities": similarity_api, } return Response(data)
def reverse(self, viewname, args=None, kwargs=None, request=None, format=None, **extra): return _reverse(viewname, args, kwargs, request, format, **extra)
def drf_reverse(viewname, args=None, kwargs=None, request=None, format=None, **extra): """ Copy and monkey-patch `rest_framework.reverse.reverse` to prevent adding unwarranted query string parameters. """ scheme = getattr(request, 'versioning_scheme', None) if scheme is not None: try: url = scheme.reverse(viewname, args, kwargs, request, format, **extra) except NoReverseMatch: # In case the versioning scheme reversal fails, fallback to the # default implementation url = _reverse(viewname, args, kwargs, request, format, **extra) else: url = _reverse(viewname, args, kwargs, request, format, **extra) return url
def reverse(cls, view_name, args=None, kwargs=None, request=None, format=None, **extra): if kwargs is None: kwargs = {} kwargs.update({'version': cls.version}) return _reverse(view_name, args, kwargs, request, format, **extra)
def reverse(*args, **kwargs): return u'http://testserver' + _reverse(*args, **kwargs)
def reverse(*args, **kwargs): return build_absolute_test_url(_reverse(*args, **kwargs))
def generate_abs_url(self): url = _reverse('email-list', request=self.context['request']) return url