diff options
| -rw-r--r-- | djangorestframework/mixins.py | 4 | ||||
| -rw-r--r-- | djangorestframework/renderers.py | 2 | ||||
| -rw-r--r-- | djangorestframework/templates/renderer.html | 4 | ||||
| -rw-r--r-- | djangorestframework/tests/mixins.py | 2 | ||||
| -rw-r--r-- | djangorestframework/tests/response.py | 3 | ||||
| -rw-r--r-- | examples/mixin/urls.py | 3 | ||||
| -rw-r--r-- | examples/objectstore/views.py | 4 | ||||
| -rw-r--r-- | examples/pygments_api/views.py | 3 | ||||
| -rw-r--r-- | examples/requestexample/urls.py | 4 | ||||
| -rw-r--r-- | examples/requestexample/views.py | 2 | ||||
| -rw-r--r-- | examples/views.py | 8 | 
11 files changed, 21 insertions, 18 deletions
diff --git a/djangorestframework/mixins.py b/djangorestframework/mixins.py index 516a0f4b..43dce870 100644 --- a/djangorestframework/mixins.py +++ b/djangorestframework/mixins.py @@ -372,7 +372,7 @@ class ReadModelMixin(ModelMixin):          except model.DoesNotExist:              raise ImmediateResponse(status=status.HTTP_404_NOT_FOUND) -        return self.model_instance +        return Response(self.model_instance)  class CreateModelMixin(ModelMixin): @@ -428,7 +428,7 @@ class UpdateModelMixin(ModelMixin):          # TODO: update on the url of a non-existing resource url doesn't work          # correctly at the moment - will end up with a new url          try: -            self.model_instance = self.get_instance(*query_kwargs) +            self.model_instance = self.get_instance(**query_kwargs)              for (key, val) in self.CONTENT.items():                  setattr(self.model_instance, key, val) diff --git a/djangorestframework/renderers.py b/djangorestframework/renderers.py index 4e8158aa..08022c7c 100644 --- a/djangorestframework/renderers.py +++ b/djangorestframework/renderers.py @@ -355,7 +355,7 @@ class DocumentingTemplateRenderer(BaseRenderer):              'login_url': login_url,              'logout_url': logout_url,              'FORMAT_PARAM': self._FORMAT_QUERY_PARAM, -            'METHOD_PARAM': getattr(self.view, '_METHOD_PARAM', None), +            'METHOD_PARAM': getattr(self.view.request, '_METHOD_PARAM', None),              'ADMIN_MEDIA_PREFIX': getattr(settings, 'ADMIN_MEDIA_PREFIX', None),          }) diff --git a/djangorestframework/templates/renderer.html b/djangorestframework/templates/renderer.html index e396a58f..8b5c77c7 100644 --- a/djangorestframework/templates/renderer.html +++ b/djangorestframework/templates/renderer.html @@ -41,7 +41,7 @@  	    <h1>{{ name }}</h1>  	    <p>{{ description }}</p>  	    <div class='module'> -	    <pre><b>{{ response.status }} {{ response.status_text }}</b>{% autoescape off %} +	    <pre><b>{{ response.status_code }} {{ response.status_text }}</b>{% autoescape off %}  {% for key, val in response.headers.items %}<b>{{ key }}:</b> {{ val|urlize_quoted_links }}  {% endfor %}  {{ content|urlize_quoted_links }}</pre>{% endautoescape %}</div> @@ -63,7 +63,7 @@  	{% endif %}  	{# Only display the POST/PUT/DELETE forms if method tunneling via POST forms is enabled and the user has permissions on this view. #} -	{% if METHOD_PARAM and response.status != 403 %} +	{% if METHOD_PARAM and response.status_code != 403 %}  		{% if 'POST' in view.allowed_methods %}  				<form action="{{ request.get_full_path }}" method="post" {% if post_form.is_multipart %}enctype="multipart/form-data"{% endif %}> diff --git a/djangorestframework/tests/mixins.py b/djangorestframework/tests/mixins.py index 187ce719..3f5835aa 100644 --- a/djangorestframework/tests/mixins.py +++ b/djangorestframework/tests/mixins.py @@ -31,7 +31,7 @@ class TestModelRead(TestModelsTestCase):          mixin.resource = GroupResource          response = mixin.get(request, id=group.id) -        self.assertEquals(group.name, response.name) +        self.assertEquals(group.name, response.raw_content.name)      def test_read_404(self):          class GroupResource(ModelResource): diff --git a/djangorestframework/tests/response.py b/djangorestframework/tests/response.py index b8cc5c1b..95603680 100644 --- a/djangorestframework/tests/response.py +++ b/djangorestframework/tests/response.py @@ -139,7 +139,8 @@ class MockView(ResponseMixin, DjangoView):      def get(self, request, **kwargs):          response = Response(DUMMYCONTENT, status=DUMMYSTATUS) -        return self.prepare_response(response) +        self.response = self.prepare_response(response) +        return self.response  class HTMLView(View): diff --git a/examples/mixin/urls.py b/examples/mixin/urls.py index 6e9e497e..58cf370c 100644 --- a/examples/mixin/urls.py +++ b/examples/mixin/urls.py @@ -15,7 +15,8 @@ class ExampleView(ResponseMixin, View):      def get(self, request):          response = Response({'description': 'Some example content',                                    'url': reverse('mixin-view')}, status=200) -        return self.prepare_response(response) +        self.response = self.prepare_response(response) +        return self.response  urlpatterns = patterns('', diff --git a/examples/objectstore/views.py b/examples/objectstore/views.py index 47f5147a..ae545394 100644 --- a/examples/objectstore/views.py +++ b/examples/objectstore/views.py @@ -67,7 +67,7 @@ class StoredObject(View):          """          pathname = os.path.join(OBJECT_STORE_DIR, key)          if not os.path.exists(pathname): -            return Response(status.HTTP_404_NOT_FOUND) +            return Response(status=status.HTTP_404_NOT_FOUND)          return Response(pickle.load(open(pathname, 'rb')))      def put(self, request, key): @@ -84,6 +84,6 @@ class StoredObject(View):          """          pathname = os.path.join(OBJECT_STORE_DIR, key)          if not os.path.exists(pathname): -            return Response(status.HTTP_404_NOT_FOUND) +            return Response(status=status.HTTP_404_NOT_FOUND)          os.remove(pathname)          return Response() diff --git a/examples/pygments_api/views.py b/examples/pygments_api/views.py index 44dd2caa..d59a52c0 100644 --- a/examples/pygments_api/views.py +++ b/examples/pygments_api/views.py @@ -81,7 +81,8 @@ class PygmentsRoot(View):          remove_oldest_files(HIGHLIGHTED_CODE_DIR, MAX_FILES) -        return Response(status.HTTP_201_CREATED, headers={'Location': reverse('pygments-instance', args=[unique_id])}) +        self.headers['Location'] = reverse('pygments-instance', args=[unique_id]) +        return Response(status.HTTP_201_CREATED)  class PygmentsInstance(View): diff --git a/examples/requestexample/urls.py b/examples/requestexample/urls.py index 3c31e4a9..d644a599 100644 --- a/examples/requestexample/urls.py +++ b/examples/requestexample/urls.py @@ -1,9 +1,9 @@  from django.conf.urls.defaults import patterns, url  from requestexample.views import RequestExampleView, EchoRequestContentView -from examples.views import MockView +from examples.views import ProxyView  urlpatterns = patterns('',      url(r'^$', RequestExampleView.as_view(), name='request-example'), -    url(r'^content$', MockView.as_view(view_class=EchoRequestContentView), name='request-content'), +    url(r'^content$', ProxyView.as_view(view_class=EchoRequestContentView), name='request-content'),  ) diff --git a/examples/requestexample/views.py b/examples/requestexample/views.py index 876db864..b5d2c1e7 100644 --- a/examples/requestexample/views.py +++ b/examples/requestexample/views.py @@ -25,7 +25,7 @@ class MyBaseViewUsingEnhancedRequest(RequestMixin, View):      parser_classes = parsers.DEFAULT_PARSERS      def dispatch(self, request, *args, **kwargs): -        request = self.prepare_request(request) +        self.request = request = self.create_request(request)          return super(MyBaseViewUsingEnhancedRequest, self).dispatch(request, *args, **kwargs) diff --git a/examples/views.py b/examples/views.py index 606edc3a..e7ef2ec9 100644 --- a/examples/views.py +++ b/examples/views.py @@ -2,7 +2,7 @@ from djangorestframework.views import View  from djangorestframework.response import Response -class MockView(View): +class ProxyView(View):      """      A view that just acts as a proxy to call non-djangorestframework views, while still      displaying the browsable API interface. @@ -11,10 +11,10 @@ class MockView(View):      view_class = None      def dispatch(self, request, *args, **kwargs): -        request = self.prepare_request(request) +        self.request = request = self.create_request(request)          if request.method in ['PUT', 'POST']:              self.response = self.view_class.as_view()(request, *args, **kwargs) -        return super(MockView, self).dispatch(request, *args, **kwargs) +        return super(ProxyView, self).dispatch(request, *args, **kwargs)      def get(self, request, *args, **kwargs):          return Response() @@ -31,4 +31,4 @@ class MockView(View):          elif name == '__doc__':              return self.view_class.__doc__          else: -            return super(MockView, self).__getattribute__(name) +            return super(ProxyView, self).__getattribute__(name)  | 
