title: Different versioning scheme for Django REST Framework Browsable API
body: <p>I have a requirement for an API that no default version is allowed.  All clients are required to explicitly specify the version of any resource.  I have achieved this with the following configuration:</p>
  
  <pre class="lang-py prettyprint-override"><code>REST_FRAMEWORK = {
      'DEFAULT_AUTHENTICATION_CLASSES': (
          'oauth2_provider.ext.rest_framework.OAuth2Authentication',
          'rest_framework.authentication.SessionAuthentication',
      ),
      'DEFAULT_PERMISSION_CLASSES': (
          'rest_framework.permissions.IsAuthenticated',
      ),
      'DEFAULT_VERSIONING_CLASS': 'rest_framework.versioning.AcceptHeaderVersioning',
      'ALLOWED_VERSIONS': ['2.0'],
      'DEFAULT_RENDERER_CLASSES': (
          'api.renderers.CustomJSONRenderer',
          'rest_framework.renderers.BrowsableAPIRenderer',
      ),
  }
  </code></pre>
  
  <p>This works great, however I just lost the ability to use the browsable API renderer:</p>
  
  <pre><code>HTTP 406 Not Acceptable
  Allow: GET
  Content-Type: application/vnd.acme+json
  Vary: Accept
  
  {
      "detail": "Invalid version in \"Accept\" header."
  }
  </code></pre>
  
  <p>I would like to specify that if a request is done to the browsable API, the default version should be 2.0.  The reasoning is that when experimenting with the browsable API, the default should be the latest version, however when consuming the API programmatically a user should not be exposed to breaking changes because they neglected to specify their version.</p>
  
  <p>How can I make my API require a version but allow the browsable API to be exempt?</p>