mirror of https://github.com/django/django.git
Merge pull request #1198 from KrzysiekJ/http-patch-method
Fixed #20478 – Added support for HTTP PATCH method in generic views.
This commit is contained in:
commit
11b06532f7
|
@ -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)
|
||||
|
|
|
@ -55,7 +55,7 @@ View
|
|||
|
||||
Default::
|
||||
|
||||
['get', 'post', 'put', 'delete', 'head', 'options', 'trace']
|
||||
['get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace']
|
||||
|
||||
**Methods**
|
||||
|
||||
|
|
|
@ -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
|
||||
=====================================
|
||||
|
||||
|
|
|
@ -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…
Reference in New Issue