mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Fixed #15272 -- Altered generic views to use the guaranteed untranslated object_name, rather than the possibly translated verbose_name(_plural) for default context objects. Thanks to szczav for the report and patch.
This is BACKWARDS INCOMPATIBLE for anyone relying on the default context object names for class-based Detail and List views. To migrate, either update your templates to use the new default names, or add a context_object_name argument to your generic views. git-svn-id: http://code.djangoproject.com/svn/django/trunk@15531 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
@@ -19,7 +19,7 @@ class ListViewTests(TestCase):
|
||||
self.assertEqual(res.status_code, 200)
|
||||
self.assertTemplateUsed(res, 'generic_views/author_list.html')
|
||||
self.assertEqual(list(res.context['object_list']), list(Author.objects.all()))
|
||||
self.assertIs(res.context['authors'], res.context['object_list'])
|
||||
self.assertIs(res.context['author_list'], res.context['object_list'])
|
||||
self.assertIsNone(res.context['paginator'])
|
||||
self.assertIsNone(res.context['page_obj'])
|
||||
self.assertFalse(res.context['is_paginated'])
|
||||
@@ -30,12 +30,12 @@ class ListViewTests(TestCase):
|
||||
self.assertEqual(res.status_code, 200)
|
||||
self.assertTemplateUsed(res, 'generic_views/author_list.html')
|
||||
self.assertEqual(len(res.context['object_list']), 30)
|
||||
self.assertIs(res.context['authors'], res.context['object_list'])
|
||||
self.assertIs(res.context['author_list'], res.context['object_list'])
|
||||
self.assertTrue(res.context['is_paginated'])
|
||||
self.assertEqual(res.context['page_obj'].number, 1)
|
||||
self.assertEqual(res.context['paginator'].num_pages, 4)
|
||||
self.assertEqual(res.context['authors'][0].name, 'Author 00')
|
||||
self.assertEqual(list(res.context['authors'])[-1].name, 'Author 29')
|
||||
self.assertEqual(res.context['author_list'][0].name, 'Author 00')
|
||||
self.assertEqual(list(res.context['author_list'])[-1].name, 'Author 29')
|
||||
|
||||
def test_paginated_queryset_shortdata(self):
|
||||
# Test that short datasets ALSO result in a paginated view.
|
||||
@@ -43,7 +43,7 @@ class ListViewTests(TestCase):
|
||||
self.assertEqual(res.status_code, 200)
|
||||
self.assertTemplateUsed(res, 'generic_views/author_list.html')
|
||||
self.assertEqual(list(res.context['object_list']), list(Author.objects.all()))
|
||||
self.assertIs(res.context['authors'], res.context['object_list'])
|
||||
self.assertIs(res.context['author_list'], res.context['object_list'])
|
||||
self.assertEqual(res.context['page_obj'].number, 1)
|
||||
self.assertEqual(res.context['paginator'].num_pages, 1)
|
||||
self.assertTrue(res.context['is_paginated'])
|
||||
@@ -54,8 +54,8 @@ class ListViewTests(TestCase):
|
||||
self.assertEqual(res.status_code, 200)
|
||||
self.assertTemplateUsed(res, 'generic_views/author_list.html')
|
||||
self.assertEqual(len(res.context['object_list']), 30)
|
||||
self.assertIs(res.context['authors'], res.context['object_list'])
|
||||
self.assertEqual(res.context['authors'][0].name, 'Author 30')
|
||||
self.assertIs(res.context['author_list'], res.context['object_list'])
|
||||
self.assertEqual(res.context['author_list'][0].name, 'Author 30')
|
||||
self.assertEqual(res.context['page_obj'].number, 2)
|
||||
|
||||
def test_paginated_get_last_page_by_query_string(self):
|
||||
@@ -63,8 +63,8 @@ class ListViewTests(TestCase):
|
||||
res = self.client.get('/list/authors/paginated/', {'page': 'last'})
|
||||
self.assertEqual(res.status_code, 200)
|
||||
self.assertEqual(len(res.context['object_list']), 10)
|
||||
self.assertIs(res.context['authors'], res.context['object_list'])
|
||||
self.assertEqual(res.context['authors'][0].name, 'Author 90')
|
||||
self.assertIs(res.context['author_list'], res.context['object_list'])
|
||||
self.assertEqual(res.context['author_list'][0].name, 'Author 90')
|
||||
self.assertEqual(res.context['page_obj'].number, 4)
|
||||
|
||||
def test_paginated_get_page_by_urlvar(self):
|
||||
@@ -73,8 +73,8 @@ class ListViewTests(TestCase):
|
||||
self.assertEqual(res.status_code, 200)
|
||||
self.assertTemplateUsed(res, 'generic_views/author_list.html')
|
||||
self.assertEqual(len(res.context['object_list']), 30)
|
||||
self.assertIs(res.context['authors'], res.context['object_list'])
|
||||
self.assertEqual(res.context['authors'][0].name, 'Author 60')
|
||||
self.assertIs(res.context['author_list'], res.context['object_list'])
|
||||
self.assertEqual(res.context['author_list'][0].name, 'Author 60')
|
||||
self.assertEqual(res.context['page_obj'].number, 3)
|
||||
|
||||
def test_paginated_page_out_of_range(self):
|
||||
@@ -112,7 +112,7 @@ class ListViewTests(TestCase):
|
||||
self.assertEqual(res.status_code, 200)
|
||||
self.assertTemplateUsed(res, 'generic_views/list.html')
|
||||
self.assertEqual(list(res.context['object_list']), list(Artist.objects.all()))
|
||||
self.assertIs(res.context['professional_artists'], res.context['object_list'])
|
||||
self.assertIs(res.context['artist_list'], res.context['object_list'])
|
||||
self.assertIsNone(res.context['paginator'])
|
||||
self.assertIsNone(res.context['page_obj'])
|
||||
self.assertFalse(res.context['is_paginated'])
|
||||
@@ -128,14 +128,14 @@ class ListViewTests(TestCase):
|
||||
res = self.client.get('/list/authors/template_name/')
|
||||
self.assertEqual(res.status_code, 200)
|
||||
self.assertEqual(list(res.context['object_list']), list(Author.objects.all()))
|
||||
self.assertIs(res.context['authors'], res.context['object_list'])
|
||||
self.assertIs(res.context['author_list'], res.context['object_list'])
|
||||
self.assertTemplateUsed(res, 'generic_views/list.html')
|
||||
|
||||
def test_template_name_suffix(self):
|
||||
res = self.client.get('/list/authors/template_name_suffix/')
|
||||
self.assertEqual(res.status_code, 200)
|
||||
self.assertEqual(list(res.context['object_list']), list(Author.objects.all()))
|
||||
self.assertIs(res.context['authors'], res.context['object_list'])
|
||||
self.assertIs(res.context['author_list'], res.context['object_list'])
|
||||
self.assertTemplateUsed(res, 'generic_views/author_objects.html')
|
||||
|
||||
def test_context_object_name(self):
|
||||
|
||||
Reference in New Issue
Block a user