summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell Keith-Magee <russell@keith-magee.com>2013-05-22 17:19:43 -0700
committerRussell Keith-Magee <russell@keith-magee.com>2013-05-22 17:19:43 -0700
commit11b06532f7633478b341c9d1da6d29e9839a4e9a (patch)
tree983c31a4a9cf47c5745dac09cfc0156069360531
parent51998dffe7ef18d314daf23e8e2ef1e2c0891d32 (diff)
parentee8b810b977572e39dc6acf4d13cc5e05f4d65ee (diff)
Merge pull request #1198 from KrzysiekJ/http-patch-method
Fixed #20478 – Added support for HTTP PATCH method in generic views.
-rw-r--r--django/views/generic/base.py5
-rw-r--r--docs/ref/class-based-views/base.txt2
-rw-r--r--docs/releases/1.6.txt3
-rw-r--r--tests/generic_views/test_base.py6
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/'))