mirror of https://github.com/django/django.git
Fixed #15688 - Generic views should provide a HEAD implementation
Thanks to j4mie for the report and patch! git-svn-id: http://code.djangoproject.com/svn/django/trunk@16095 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
065e6b6153
commit
f4c808b7f5
|
@ -44,6 +44,8 @@ class View(object):
|
||||||
|
|
||||||
def view(request, *args, **kwargs):
|
def view(request, *args, **kwargs):
|
||||||
self = cls(**initkwargs)
|
self = cls(**initkwargs)
|
||||||
|
if hasattr(self, 'get') and not hasattr(self, 'head'):
|
||||||
|
self.head = self.get
|
||||||
return self.dispatch(request, *args, **kwargs)
|
return self.dispatch(request, *args, **kwargs)
|
||||||
|
|
||||||
# take name and docstring from class
|
# take name and docstring from class
|
||||||
|
|
|
@ -101,6 +101,14 @@ class ViewTest(unittest.TestCase):
|
||||||
self.rf.get('/', REQUEST_METHOD='FAKE')
|
self.rf.get('/', REQUEST_METHOD='FAKE')
|
||||||
).status_code, 405)
|
).status_code, 405)
|
||||||
|
|
||||||
|
def test_get_and_head(self):
|
||||||
|
"""
|
||||||
|
Test a view which supplies a GET method also responds correctly to HEAD
|
||||||
|
"""
|
||||||
|
self._assert_simple(SimpleView.as_view()(self.rf.get('/')))
|
||||||
|
response = SimpleView.as_view()(self.rf.head('/'))
|
||||||
|
self.assertEqual(response.status_code, 200)
|
||||||
|
|
||||||
def test_get_and_post(self):
|
def test_get_and_post(self):
|
||||||
"""
|
"""
|
||||||
Test a view which only allows both GET and POST.
|
Test a view which only allows both GET and POST.
|
||||||
|
@ -167,6 +175,13 @@ class TemplateViewTest(TestCase):
|
||||||
"""
|
"""
|
||||||
self._assert_about(AboutTemplateView.as_view()(self.rf.get('/about/')))
|
self._assert_about(AboutTemplateView.as_view()(self.rf.get('/about/')))
|
||||||
|
|
||||||
|
def test_head(self):
|
||||||
|
"""
|
||||||
|
Test a TemplateView responds correctly to HEAD
|
||||||
|
"""
|
||||||
|
response = AboutTemplateView.as_view()(self.rf.head('/about/'))
|
||||||
|
self.assertEqual(response.status_code, 200)
|
||||||
|
|
||||||
def test_get_template_attribute(self):
|
def test_get_template_attribute(self):
|
||||||
"""
|
"""
|
||||||
Test a view that renders a template on GET with the template name as
|
Test a view that renders a template on GET with the template name as
|
||||||
|
|
Loading…
Reference in New Issue