diff options
| author | Krzysztof Jurewicz <krzysztof.jurewicz@laboratorium.ee> | 2013-05-21 18:01:29 +0200 |
|---|---|---|
| committer | Krzysztof Jurewicz <krzysztof.jurewicz@laboratorium.ee> | 2013-05-22 14:48:11 +0200 |
| commit | ee8b810b977572e39dc6acf4d13cc5e05f4d65ee (patch) | |
| tree | a677838603c8b187867192871de4993f4e9c5345 | |
| parent | 0e51d8eb66121b2558a38c9f4e366df781046873 (diff) | |
Fixed #20478 – Added support for HTTP PATCH method in generic views.
| -rw-r--r-- | django/views/generic/base.py | 5 | ||||
| -rw-r--r-- | docs/ref/class-based-views/base.txt | 2 | ||||
| -rw-r--r-- | docs/releases/1.6.txt | 3 | ||||
| -rw-r--r-- | tests/generic_views/test_base.py | 6 |
4 files changed, 14 insertions, 2 deletions
diff --git a/django/views/generic/base.py b/django/views/generic/base.py index d50d6bbc55..286a18d0f2 100644 --- a/django/views/generic/base.py +++ b/django/views/generic/base.py @@ -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): """ @@ -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) diff --git a/docs/ref/class-based-views/base.txt b/docs/ref/class-based-views/base.txt index 94bf6e12f9..17862978e7 100644 --- a/docs/ref/class-based-views/base.txt +++ b/docs/ref/class-based-views/base.txt @@ -55,7 +55,7 @@ View Default:: - ['get', 'post', 'put', 'delete', 'head', 'options', 'trace'] + ['get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace'] **Methods** diff --git a/docs/releases/1.6.txt b/docs/releases/1.6.txt index a1a29471a3..3bc5a0996c 100644 --- a/docs/releases/1.6.txt +++ b/docs/releases/1.6.txt @@ -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 ===================================== diff --git a/tests/generic_views/test_base.py b/tests/generic_views/test_base.py index 9080015f4f..ffd9b1b480 100644 --- a/tests/generic_views/test_base.py +++ b/tests/generic_views/test_base.py @@ -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/')) |
