diff --git a/django/contrib/admin/sites.py b/django/contrib/admin/sites.py index e375bc608f..94d86026c4 100644 --- a/django/contrib/admin/sites.py +++ b/django/contrib/admin/sites.py @@ -354,6 +354,7 @@ class AdminSite(object): info = (app_label, model._meta.module_name) model_dict = { 'name': capfirst(model._meta.verbose_name_plural), + 'object_name': model._meta.object_name, 'perms': perms, } if perms.get('change', False): @@ -371,6 +372,7 @@ class AdminSite(object): else: app_dict[app_label] = { 'name': app_label.title(), + 'app_label': app_label, 'app_url': reverse('admin:app_list', kwargs={'app_label': app_label}, current_app=self.name), 'has_module_perms': has_module_perms, 'models': [model_dict], @@ -408,6 +410,7 @@ class AdminSite(object): info = (app_label, model._meta.module_name) model_dict = { 'name': capfirst(model._meta.verbose_name_plural), + 'object_name': model._meta.object_name, 'perms': perms, } if perms.get('change', False): @@ -428,6 +431,7 @@ class AdminSite(object): # information. app_dict = { 'name': app_label.title(), + 'app_label': app_label, 'app_url': '', 'has_module_perms': has_module_perms, 'models': [model_dict], diff --git a/django/contrib/admin/templates/admin/index.html b/django/contrib/admin/templates/admin/index.html index 91ea0844b1..961e4823e0 100644 --- a/django/contrib/admin/templates/admin/index.html +++ b/django/contrib/admin/templates/admin/index.html @@ -14,7 +14,7 @@ {% if app_list %} {% for app in app_list %} -
+
{% for model in app.models %} - + {% if model.admin_url %} {% else %} diff --git a/tests/regressiontests/admin_views/tests.py b/tests/regressiontests/admin_views/tests.py index 62f69f6d94..6c95e1b6f9 100644 --- a/tests/regressiontests/admin_views/tests.py +++ b/tests/regressiontests/admin_views/tests.py @@ -3391,7 +3391,11 @@ class CSSTest(TestCase): def tearDown(self): self.client.logout() - def test_css_classes(self): + def test_field_prefix_css_classes(self): + """ + Ensure that fields have a CSS class name with a 'field-' prefix. + Refs #16371. + """ response = self.client.get('/test_admin/admin/admin_views/post/add/') # The main form @@ -3407,6 +3411,23 @@ class CSSTest(TestCase): self.assertContains(response, '') + self.assertContains(response, '') + + # App index page + response = self.client.get("/test_admin/admin/admin_views/") + self.assertContains(response, '
') + self.assertContains(response, '
') + self.assertContains(response, '') try: import docutils
@@ -22,7 +22,7 @@
{{ model.name }}') self.assertContains(response, '') + def test_index_css_classes(self): + """ + Ensure that CSS class names are used for each app and model on the + admin index pages. + Refs #17050. + """ + # General index page + response = self.client.get("/test_admin/admin/") + self.assertContains(response, '
') + self.assertContains(response, '