Loading django/views/generic/base.py +4 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ class View(object): dispatch-by-method and simple sanity checking. """ http_method_names = ['get', 'post', 'put', 'delete', 'head', 'options', 'trace'] http_method_names = ['get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace'] def __init__(self, **kwargs): """ Loading Loading @@ -206,3 +206,6 @@ class RedirectView(View): def put(self, request, *args, **kwargs): return self.get(request, *args, **kwargs) def patch(self, request, *args, **kwargs): return self.get(request, *args, **kwargs) docs/ref/class-based-views/base.txt +1 −1 Original line number Diff line number Diff line Loading @@ -55,7 +55,7 @@ View Default:: ['get', 'post', 'put', 'delete', 'head', 'options', 'trace'] ['get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace'] **Methods** Loading docs/releases/1.6.txt +3 −0 Original line number Diff line number Diff line Loading @@ -258,6 +258,9 @@ Minor features methods returning the first or last object matching the filters. Returns ``None`` if there are no objects matching. * :class:`~django.views.generic.base.View` and :class:`~django.views.generic.base.RedirectView` now support HTTP PATCH method. Backwards incompatible changes in 1.6 ===================================== Loading tests/generic_views/test_base.py +6 −0 Original line number Diff line number Diff line Loading @@ -384,6 +384,12 @@ class RedirectViewTest(unittest.TestCase): self.assertEqual(response.status_code, 301) self.assertEqual(response.url, '/bar/') def test_redirect_PATCH(self): "Default is a permanent redirect" response = RedirectView.as_view(url='/bar/')(self.rf.patch('/foo/')) self.assertEqual(response.status_code, 301) self.assertEqual(response.url, '/bar/') def test_redirect_DELETE(self): "Default is a permanent redirect" response = RedirectView.as_view(url='/bar/')(self.rf.delete('/foo/')) Loading Loading
django/views/generic/base.py +4 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ class View(object): dispatch-by-method and simple sanity checking. """ http_method_names = ['get', 'post', 'put', 'delete', 'head', 'options', 'trace'] http_method_names = ['get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace'] def __init__(self, **kwargs): """ Loading Loading @@ -206,3 +206,6 @@ class RedirectView(View): def put(self, request, *args, **kwargs): return self.get(request, *args, **kwargs) def patch(self, request, *args, **kwargs): return self.get(request, *args, **kwargs)
docs/ref/class-based-views/base.txt +1 −1 Original line number Diff line number Diff line Loading @@ -55,7 +55,7 @@ View Default:: ['get', 'post', 'put', 'delete', 'head', 'options', 'trace'] ['get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace'] **Methods** Loading
docs/releases/1.6.txt +3 −0 Original line number Diff line number Diff line Loading @@ -258,6 +258,9 @@ Minor features methods returning the first or last object matching the filters. Returns ``None`` if there are no objects matching. * :class:`~django.views.generic.base.View` and :class:`~django.views.generic.base.RedirectView` now support HTTP PATCH method. Backwards incompatible changes in 1.6 ===================================== Loading
tests/generic_views/test_base.py +6 −0 Original line number Diff line number Diff line Loading @@ -384,6 +384,12 @@ class RedirectViewTest(unittest.TestCase): self.assertEqual(response.status_code, 301) self.assertEqual(response.url, '/bar/') def test_redirect_PATCH(self): "Default is a permanent redirect" response = RedirectView.as_view(url='/bar/')(self.rf.patch('/foo/')) self.assertEqual(response.status_code, 301) self.assertEqual(response.url, '/bar/') def test_redirect_DELETE(self): "Default is a permanent redirect" response = RedirectView.as_view(url='/bar/')(self.rf.delete('/foo/')) Loading