diff options
| author | Tom Christie | 2012-10-17 23:09:11 +0100 | 
|---|---|---|
| committer | Tom Christie | 2012-10-17 23:09:11 +0100 | 
| commit | fed235dd0135c3eb98bb218a51f01ace5ddd3782 (patch) | |
| tree | d3ac6bee7dd477461ec545b5fd4405ce66c047b5 | |
| parent | e126b615420fed12af58675cb4bb52e749b006bd (diff) | |
| download | django-rest-framework-fed235dd0135c3eb98bb218a51f01ace5ddd3782.tar.bz2 | |
Make settings consistent with corrosponding view attributes
| -rw-r--r-- | docs/api-guide/authentication.md | 4 | ||||
| -rw-r--r-- | docs/api-guide/parsers.md | 4 | ||||
| -rw-r--r-- | docs/api-guide/permissions.md | 4 | ||||
| -rw-r--r-- | docs/api-guide/renderers.md | 4 | ||||
| -rw-r--r-- | docs/api-guide/requests.md | 4 | ||||
| -rw-r--r-- | docs/api-guide/settings.md | 20 | ||||
| -rw-r--r-- | docs/api-guide/throttling.md | 8 | ||||
| -rw-r--r-- | docs/css/default.css | 4 | ||||
| -rw-r--r-- | docs/tutorial/quickstart.md | 4 | ||||
| -rw-r--r-- | rest_framework/generics.py | 4 | ||||
| -rw-r--r-- | rest_framework/request.py | 2 | ||||
| -rw-r--r-- | rest_framework/settings.py | 43 | ||||
| -rw-r--r-- | rest_framework/views.py | 12 | 
13 files changed, 62 insertions, 55 deletions
| diff --git a/docs/api-guide/authentication.md b/docs/api-guide/authentication.md index 71f48163..5e5ee4ed 100644 --- a/docs/api-guide/authentication.md +++ b/docs/api-guide/authentication.md @@ -26,10 +26,10 @@ The value of `request.user` and `request.auth` for unauthenticated requests can  ## Setting the authentication policy -The default authentication policy may be set globally, using the `DEFAULT_AUTHENTICATION` setting.  For example. +The default authentication policy may be set globally, using the `DEFAULT_AUTHENTICATION_CLASSES` setting.  For example.      REST_FRAMEWORK = { -        'DEFAULT_AUTHENTICATION': ( +        'DEFAULT_AUTHENTICATION_CLASSES': (              'rest_framework.authentication.UserBasicAuthentication',              'rest_framework.authentication.SessionAuthentication',          ) diff --git a/docs/api-guide/parsers.md b/docs/api-guide/parsers.md index 18a5872c..f7a62d3d 100644 --- a/docs/api-guide/parsers.md +++ b/docs/api-guide/parsers.md @@ -16,10 +16,10 @@ The set of valid parsers for a view is always defined as a list of classes.  Whe  ## Setting the parsers -The default set of parsers may be set globally, using the `DEFAULT_PARSERS` setting.  For example, the following settings would allow requests with `YAML` content. +The default set of parsers may be set globally, using the `DEFAULT_PARSER_CLASSES` setting.  For example, the following settings would allow requests with `YAML` content.      REST_FRAMEWORK = { -        'DEFAULT_PARSERS': ( +        'DEFAULT_PARSER_CLASSES': (              'rest_framework.parsers.YAMLParser',          )      } diff --git a/docs/api-guide/permissions.md b/docs/api-guide/permissions.md index b25b52be..249f3938 100644 --- a/docs/api-guide/permissions.md +++ b/docs/api-guide/permissions.md @@ -25,10 +25,10 @@ Object level permissions are run by REST framework's generic views when `.get_ob  ## Setting the permission policy -The default permission policy may be set globally, using the `DEFAULT_PERMISSIONS` setting.  For example. +The default permission policy may be set globally, using the `DEFAULT_PERMISSION_CLASSES` setting.  For example.      REST_FRAMEWORK = { -        'DEFAULT_PERMISSIONS': ( +        'DEFAULT_PERMISSION_CLASSES': (              'rest_framework.permissions.IsAuthenticated',          )      } diff --git a/docs/api-guide/renderers.md b/docs/api-guide/renderers.md index 24cca181..b3b8d5bc 100644 --- a/docs/api-guide/renderers.md +++ b/docs/api-guide/renderers.md @@ -18,10 +18,10 @@ For more information see the documentation on [content negotation][conneg].  ## Setting the renderers -The default set of renderers may be set globally, using the `DEFAULT_RENDERERS` setting.  For example, the following settings would use `YAML` as the main media type and also include the self describing API. +The default set of renderers may be set globally, using the `DEFAULT_RENDERER_CLASSES` setting.  For example, the following settings would use `YAML` as the main media type and also include the self describing API.      REST_FRAMEWORK = { -        'DEFAULT_RENDERERS': ( +        'DEFAULT_RENDERER_CLASSES': (              'rest_framework.renderers.YAMLRenderer',              'rest_framework.renderers.BrowsableAPIRenderer',          ) diff --git a/docs/api-guide/requests.md b/docs/api-guide/requests.md index 439c97bc..2770c6dd 100644 --- a/docs/api-guide/requests.md +++ b/docs/api-guide/requests.md @@ -37,7 +37,7 @@ For clarity inside your code, we recommend using `request.QUERY_PARAMS` instead  ## .parsers -The `APIView` class or `@api_view` decorator will ensure that this property is automatically to a list of `Parser` instances, based on the `parser_classes` set on the view or based on the `DEFAULT_PARSERS` setting. +The `APIView` class or `@api_view` decorator will ensure that this property is automatically to a list of `Parser` instances, based on the `parser_classes` set on the view or based on the `DEFAULT_PARSER_CLASSES` setting.  You won't typically need to access this property. @@ -125,4 +125,4 @@ Note that due to implementation reasons the `Request` class does not inherit fro  [cite]: https://groups.google.com/d/topic/django-developers/dxI4qVzrBY4/discussion  [parsers documentation]: parsers.md  [authentication documentation]: authentication.md -[browser enhancements documentation]: ../topics/browser-enhancements.md
\ No newline at end of file +[browser enhancements documentation]: ../topics/browser-enhancements.md diff --git a/docs/api-guide/settings.md b/docs/api-guide/settings.md index 84acd797..21efc853 100644 --- a/docs/api-guide/settings.md +++ b/docs/api-guide/settings.md @@ -11,10 +11,10 @@ Configuration for REST framework is all namespaced inside a single Django settin  For example your project's `settings.py` file might include something like this:      REST_FRAMEWORK = { -        'DEFAULT_RENDERERS': ( +        'DEFAULT_RENDERER_CLASSES': (              'rest_framework.renderers.YAMLRenderer',          ) -        'DEFAULT_PARSERS': ( +        'DEFAULT_PARSER_CLASSES': (              'rest_framework.parsers.YAMLParser',          )      } @@ -26,7 +26,7 @@ you should use the `api_settings` object.  For example.      from rest_framework.settings import api_settings -    print api_settings.DEFAULT_AUTHENTICATION +    print api_settings.DEFAULT_AUTHENTICATION_CLASSES  The `api_settings` object will check for any user-defined settings, and otherwise fallback to the default values.  Any setting that uses string import paths to refer to a class will automatically import and return the referenced class, instead of the string literal. @@ -34,7 +34,7 @@ The `api_settings` object will check for any user-defined settings, and otherwis  # API Reference -## DEFAULT_RENDERERS +## DEFAULT_RENDERER_CLASSES  A list or tuple of renderer classes, that determines the default set of renderers that may be used when returning a `Response` object. @@ -46,7 +46,7 @@ Default:          'rest_framework.renderers.TemplateHTMLRenderer'      ) -## DEFAULT_PARSERS +## DEFAULT_PARSER_CLASSES  A list or tuple of parser classes, that determines the default set of parsers used when accessing the `request.DATA` property. @@ -57,7 +57,7 @@ Default:          'rest_framework.parsers.FormParser'      ) -## DEFAULT_AUTHENTICATION +## DEFAULT_AUTHENTICATION_CLASSES  A list or tuple of authentication classes, that determines the default set of authenticators used when accessing the `request.user` or `request.auth` properties. @@ -68,25 +68,25 @@ Default:          'rest_framework.authentication.UserBasicAuthentication'      ) -## DEFAULT_PERMISSIONS +## DEFAULT_PERMISSION_CLASSES  A list or tuple of permission classes, that determines the default set of permissions checked at the start of a view.  Default: `()` -## DEFAULT_THROTTLES +## DEFAULT_THROTTLE_CLASSES  A list or tuple of throttle classes, that determines the default set of throttles checked at the start of a view.  Default: `()` -## DEFAULT_MODEL_SERIALIZER +## DEFAULT_MODEL_SERIALIZER_CLASS  **TODO**  Default: `rest_framework.serializers.ModelSerializer` -## DEFAULT_PAGINATION_SERIALIZER +## DEFAULT_PAGINATION_SERIALIZER_CLASS  **TODO** diff --git a/docs/api-guide/throttling.md b/docs/api-guide/throttling.md index 22e34187..435b20ce 100644 --- a/docs/api-guide/throttling.md +++ b/docs/api-guide/throttling.md @@ -27,10 +27,10 @@ If any throttle check fails an `exceptions.Throttled` exception will be raised,  ## Setting the throttling policy -The default throttling policy may be set globally, using the `DEFAULT_THROTTLES` and `DEFAULT_THROTTLE_RATES` settings.  For example. +The default throttling policy may be set globally, using the `DEFAULT_THROTTLE_CLASSES` and `DEFAULT_THROTTLE_RATES` settings.  For example.      REST_FRAMEWORK = { -        'DEFAULT_THROTTLES': ( +        'DEFAULT_THROTTLE_CLASSES': (              'rest_framework.throttles.AnonThrottle',              'rest_framework.throttles.UserThrottle',          ) @@ -100,7 +100,7 @@ For example, multiple user throttle rates could be implemented by using the foll  ...and the following settings.      REST_FRAMEWORK = { -        'DEFAULT_THROTTLES': ( +        'DEFAULT_THROTTLE_CLASSES': (              'example.throttles.BurstRateThrottle',              'example.throttles.SustainedRateThrottle',          ) @@ -135,7 +135,7 @@ For example, given the following views...  ...and the following settings.      REST_FRAMEWORK = { -        'DEFAULT_THROTTLES': ( +        'DEFAULT_THROTTLE_CLASSES': (              'rest_framework.throttles.ScopedRateThrottle',          )          'DEFAULT_THROTTLE_RATES': { diff --git a/docs/css/default.css b/docs/css/default.css index c1d2e885..57446ff9 100644 --- a/docs/css/default.css +++ b/docs/css/default.css @@ -88,6 +88,10 @@ pre {    font-weight: bold;  } +.nav-list a { +  overflow: hidden; +} +  /* Set the table of contents to static so it flows back into the content when     viewed on tablets and smaller. */  @media (max-width: 767px) { diff --git a/docs/tutorial/quickstart.md b/docs/tutorial/quickstart.md index 851db3c7..6bde725b 100644 --- a/docs/tutorial/quickstart.md +++ b/docs/tutorial/quickstart.md @@ -126,7 +126,7 @@ We'd also like to set a few global settings.  We'd like to turn on pagination, a      )      REST_FRAMEWORK = { -        'DEFAULT_PERMISSIONS': ('rest_framework.permissions.IsAdminUser',), +        'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAdminUser',),          'PAGINATE_BY': 10      } @@ -169,4 +169,4 @@ If you want to get a more in depth understanding of how REST framework fits toge  [image]: ../img/quickstart.png  [tutorial]: 1-serialization.md -[guide]: ../#api-guide
\ No newline at end of file +[guide]: ../#api-guide diff --git a/rest_framework/generics.py b/rest_framework/generics.py index 59739d01..18c1033d 100644 --- a/rest_framework/generics.py +++ b/rest_framework/generics.py @@ -15,7 +15,7 @@ class BaseView(views.APIView):      Base class for all other generic views.      """      serializer_class = None -    model_serializer_class = api_settings.MODEL_SERIALIZER +    model_serializer_class = api_settings.DEFAULT_MODEL_SERIALIZER_CLASS      def get_serializer_context(self):          """ @@ -56,7 +56,7 @@ class MultipleObjectBaseView(MultipleObjectMixin, BaseView):      Base class for generic views onto a queryset.      """ -    pagination_serializer_class = api_settings.PAGINATION_SERIALIZER +    pagination_serializer_class = api_settings.DEFAULT_PAGINATION_SERIALIZER_CLASS      paginate_by = api_settings.PAGINATE_BY      def get_pagination_serializer_class(self): diff --git a/rest_framework/request.py b/rest_framework/request.py index b212680f..5870be82 100644 --- a/rest_framework/request.py +++ b/rest_framework/request.py @@ -92,7 +92,7 @@ class Request(object):          self.parser_context['request'] = self      def _default_negotiator(self): -        return api_settings.DEFAULT_CONTENT_NEGOTIATION() +        return api_settings.DEFAULT_CONTENT_NEGOTIATION_CLASS()      @property      def method(self): diff --git a/rest_framework/settings.py b/rest_framework/settings.py index 8bbb2f75..3c508294 100644 --- a/rest_framework/settings.py +++ b/rest_framework/settings.py @@ -3,11 +3,11 @@ Settings for REST framework are all namespaced in the REST_FRAMEWORK setting.  For example your project's `settings.py` file might look like this:  REST_FRAMEWORK = { -    'DEFAULT_RENDERERS': ( +    'DEFAULT_RENDERER_CLASSES': (          'rest_framework.renderers.JSONRenderer',          'rest_framework.renderers.YAMLRenderer',      ) -    'DEFAULT_PARSERS': ( +    'DEFAULT_PARSER_CLASSES': (          'rest_framework.parsers.JSONParser',          'rest_framework.parsers.YAMLParser',      ) @@ -24,30 +24,33 @@ from django.utils import importlib  USER_SETTINGS = getattr(settings, 'REST_FRAMEWORK', None)  DEFAULTS = { -    'DEFAULT_RENDERERS': ( +    'DEFAULT_RENDERER_CLASSES': (          'rest_framework.renderers.JSONRenderer',          'rest_framework.renderers.BrowsableAPIRenderer',      ), -    'DEFAULT_PARSERS': ( +    'DEFAULT_PARSER_CLASSES': (          'rest_framework.parsers.JSONParser',          'rest_framework.parsers.FormParser',          'rest_framework.parsers.MultiPartParser'      ), -    'DEFAULT_AUTHENTICATION': ( +    'DEFAULT_AUTHENTICATION_CLASSES': (          'rest_framework.authentication.SessionAuthentication',          'rest_framework.authentication.BasicAuthentication'      ), -    'DEFAULT_PERMISSIONS': (), -    'DEFAULT_THROTTLES': (), -    'DEFAULT_CONTENT_NEGOTIATION': +    'DEFAULT_PERMISSION_CLASSES': (), +    'DEFAULT_THROTTLE_CLASSES': (), +    'DEFAULT_CONTENT_NEGOTIATION_CLASS':          'rest_framework.negotiation.DefaultContentNegotiation', + +    'DEFAULT_MODEL_SERIALIZER_CLASS': +        'rest_framework.serializers.ModelSerializer', +    'DEFAULT_PAGINATION_SERIALIZER_CLASS': +        'rest_framework.pagination.PaginationSerializer', +      'DEFAULT_THROTTLE_RATES': {          'user': None,          'anon': None,      }, - -    'MODEL_SERIALIZER': 'rest_framework.serializers.ModelSerializer', -    'PAGINATION_SERIALIZER': 'rest_framework.pagination.PaginationSerializer',      'PAGINATE_BY': None,      'UNAUTHENTICATED_USER': 'django.contrib.auth.models.AnonymousUser', @@ -65,14 +68,14 @@ DEFAULTS = {  # List of settings that may be in string import notation.  IMPORT_STRINGS = ( -    'DEFAULT_RENDERERS', -    'DEFAULT_PARSERS', -    'DEFAULT_AUTHENTICATION', -    'DEFAULT_PERMISSIONS', -    'DEFAULT_THROTTLES', -    'DEFAULT_CONTENT_NEGOTIATION', -    'MODEL_SERIALIZER', -    'PAGINATION_SERIALIZER', +    'DEFAULT_RENDERER_CLASSES', +    'DEFAULT_PARSER_CLASSES', +    'DEFAULT_AUTHENTICATION_CLASSES', +    'DEFAULT_PERMISSION_CLASSES', +    'DEFAULT_THROTTLE_CLASSES', +    'DEFAULT_CONTENT_NEGOTIATION_CLASS', +    'DEFAULT_MODEL_SERIALIZER_CLASS', +    'DEFAULT_PAGINATION_SERIALIZER_CLASS',      'UNAUTHENTICATED_USER',      'UNAUTHENTICATED_TOKEN',  ) @@ -111,7 +114,7 @@ class APISettings(object):      For example:          from rest_framework.settings import api_settings -        print api_settings.DEFAULT_RENDERERS +        print api_settings.DEFAULT_RENDERER_CLASSES      Any setting with string import paths will be automatically resolved      and return the class, rather than the string literal. diff --git a/rest_framework/views.py b/rest_framework/views.py index 357d8939..c721be3c 100644 --- a/rest_framework/views.py +++ b/rest_framework/views.py @@ -54,12 +54,12 @@ def _camelcase_to_spaces(content):  class APIView(View):      settings = api_settings -    renderer_classes = api_settings.DEFAULT_RENDERERS -    parser_classes = api_settings.DEFAULT_PARSERS -    authentication_classes = api_settings.DEFAULT_AUTHENTICATION -    throttle_classes = api_settings.DEFAULT_THROTTLES -    permission_classes = api_settings.DEFAULT_PERMISSIONS -    content_negotiation_class = api_settings.DEFAULT_CONTENT_NEGOTIATION +    renderer_classes = api_settings.DEFAULT_RENDERER_CLASSES +    parser_classes = api_settings.DEFAULT_PARSER_CLASSES +    authentication_classes = api_settings.DEFAULT_AUTHENTICATION_CLASSES +    throttle_classes = api_settings.DEFAULT_THROTTLE_CLASSES +    permission_classes = api_settings.DEFAULT_PERMISSION_CLASSES +    content_negotiation_class = api_settings.DEFAULT_CONTENT_NEGOTIATION_CLASS      @classmethod      def as_view(cls, **initkwargs): | 
