From b4d82a0f55347e898f954830d7320f9fd8c316cb Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Fri, 15 May 2015 09:18:45 +0100 Subject: [PATCH] Preserve format query param --- rest_framework/reverse.py | 14 ++++++++++---- .../static/rest_framework/css/default.css | 2 +- rest_framework/templates/rest_framework/admin.html | 9 +++------ 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/rest_framework/reverse.py b/rest_framework/reverse.py index e6d3f5634..7235ac5d4 100644 --- a/rest_framework/reverse.py +++ b/rest_framework/reverse.py @@ -6,6 +6,8 @@ from django.core.urlresolvers import reverse as django_reverse from django.core.urlresolvers import NoReverseMatch from django.utils import six from django.utils.functional import lazy +from rest_framework.settings import api_settings +from rest_framework.utils.urls import replace_query_param def reverse(viewname, args=None, kwargs=None, request=None, format=None, **extra): @@ -17,14 +19,18 @@ def reverse(viewname, args=None, kwargs=None, request=None, format=None, **extra scheme = getattr(request, 'versioning_scheme', None) if scheme is not None: try: - return scheme.reverse(viewname, args, kwargs, request, format, **extra) + url = scheme.reverse(viewname, args, kwargs, request, format, **extra) except NoReverseMatch: # In case the versioning scheme reversal fails, fallback to the # default implementation - pass - - return _reverse(viewname, args, kwargs, request, format, **extra) + url = _reverse(viewname, args, kwargs, request, format, **extra) + else: + url = _reverse(viewname, args, kwargs, request, format, **extra) + FORMAT_OVERRIDE = api_settings.URL_FORMAT_OVERRIDE + if FORMAT_OVERRIDE and (FORMAT_OVERRIDE in request.query_params): + return replace_query_param(url, FORMAT_OVERRIDE, request.query_params[FORMAT_OVERRIDE]) + return url def _reverse(viewname, args=None, kwargs=None, request=None, format=None, **extra): """ diff --git a/rest_framework/static/rest_framework/css/default.css b/rest_framework/static/rest_framework/css/default.css index 7e33aee32..f6c675462 100644 --- a/rest_framework/static/rest_framework/css/default.css +++ b/rest_framework/static/rest_framework/css/default.css @@ -3,7 +3,7 @@ content running up underneath it. */ h1 { - font-weight: 500; + font-weight: 300; } h2, h3 { diff --git a/rest_framework/templates/rest_framework/admin.html b/rest_framework/templates/rest_framework/admin.html index 336f43158..39f2127c8 100644 --- a/rest_framework/templates/rest_framework/admin.html +++ b/rest_framework/templates/rest_framework/admin.html @@ -73,18 +73,15 @@
- Format -