Kaydet (Commit) 29ddae74 authored tarafından Carl Meyer's avatar Carl Meyer

Fixed #21871 -- Fixed Apps.is_installed() for apps with custom label.

Thanks Aymeric for design discussion.
üst f5f556db
...@@ -204,8 +204,7 @@ class Apps(object): ...@@ -204,8 +204,7 @@ class Apps(object):
It's safe to call this method at import time, even while the registry It's safe to call this method at import time, even while the registry
is being populated. It returns False for apps that aren't loaded yet. is being populated. It returns False for apps that aren't loaded yet.
""" """
app_config = self.app_configs.get(app_name.rpartition(".")[2]) return any(ac.name == app_name for ac in self.app_configs.values())
return app_config is not None and app_config.name == app_name
def get_containing_app_config(self, object_name): def get_containing_app_config(self, object_name):
""" """
......
...@@ -10,6 +10,7 @@ class MyAdmin(AppConfig): ...@@ -10,6 +10,7 @@ class MyAdmin(AppConfig):
class MyAuth(AppConfig): class MyAuth(AppConfig):
name = 'django.contrib.auth' name = 'django.contrib.auth'
label = 'myauth'
verbose_name = "All your password are belong to us." verbose_name = "All your password are belong to us."
......
...@@ -109,6 +109,7 @@ class AppsTests(TestCase): ...@@ -109,6 +109,7 @@ class AppsTests(TestCase):
@override_settings(INSTALLED_APPS=SOME_INSTALLED_APPS) @override_settings(INSTALLED_APPS=SOME_INSTALLED_APPS)
def test_is_installed(self): def test_is_installed(self):
self.assertTrue(apps.is_installed('django.contrib.admin')) self.assertTrue(apps.is_installed('django.contrib.admin'))
self.assertTrue(apps.is_installed('django.contrib.auth'))
self.assertTrue(apps.is_installed('django.contrib.staticfiles')) self.assertTrue(apps.is_installed('django.contrib.staticfiles'))
self.assertFalse(apps.is_installed('django.contrib.webdesign')) self.assertFalse(apps.is_installed('django.contrib.webdesign'))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment