Replaced default_app_config variable by module config to locate the

AppConfig object
This commit is contained in:
2025-04-10 15:01:46 +02:00
parent 0438cf91c6
commit 62accd4197
12 changed files with 25 additions and 12 deletions

View File

@@ -1 +0,0 @@
default_app_config = 'dav_auth.apps.AppConfig' # pylint: disable=invalid-name

View File

@@ -1,3 +1,4 @@
{
"url_prefix": "auth"
"url_prefix": "auth",
"app_config": ".apps.AppConfig"
}

View File

@@ -1 +0,0 @@
default_app_config = 'dav_base.apps.AppConfig' # pylint: disable=invalid-name

View File

@@ -19,6 +19,7 @@ class ModuleMeta:
def __init__(self, package_name):
self._package_name = package_name
self._app_config = None
self._additional_apps = []
self._url_prefix = None
self._load_from_package()
@@ -28,9 +29,19 @@ class ModuleMeta:
return t
@property
def app(self):
def package(self):
return self._package_name
@property
def app(self):
if self._app_config:
app = self._app_config
if app.startswith('.'):
app = self._package_name + app
else:
app = self._package_name
return app
@property
def additional_apps(self):
return self._additional_apps
@@ -61,6 +72,7 @@ class ModuleMeta:
def load_from_dict(self, meta_dict):
self._package_name = meta_dict.get('package', None)
self._app_config = meta_dict.get('app_config', None)
self._additional_apps = meta_dict.get('additional_apps', [])
self._url_prefix = meta_dict.get('url_prefix', None)
@@ -68,6 +80,8 @@ class ModuleMeta:
d = {
'package': self._package_name,
}
if self._app_config:
d['app_config'] = self._app_config
if self._additional_apps:
d['additional_apps'] = self._additional_apps
if self._url_prefix:

View File

@@ -16,7 +16,7 @@ INSTALLED_APPS += [
'django_countries',
# 'django_extensions',
# Our main app
'dav_base',
'dav_base.apps.AppConfig',
]
# Add apps from our modules

View File

@@ -15,7 +15,7 @@ class RootView(generic.TemplateView):
root_url_name = '%s:%s' % (module_meta_obj.url_namespace, root_url_name)
try:
reverse(root_url_name)
root_urls.append((module_meta_obj.app, root_url_name))
root_urls.append((module_meta_obj.package, root_url_name))
except NoReverseMatch:
pass

View File

@@ -1 +0,0 @@
default_app_config = 'dav_event_office.apps.AppConfig' # pylint: disable=invalid-name

View File

@@ -1,3 +1,4 @@
{
"url_prefix": "office/events"
"url_prefix": "office/events",
"app_config": ".apps.AppConfig"
}

View File

@@ -1 +0,0 @@
default_app_config = 'dav_events.apps.AppConfig' # pylint: disable=invalid-name

View File

@@ -1,3 +1,4 @@
{
"url_prefix": "events"
"url_prefix": "events",
"app_config": ".apps.AppConfig"
}

View File

@@ -1 +0,0 @@
default_app_config = 'dav_registration.apps.AppConfig' # pylint: disable=invalid-name

View File

@@ -1,3 +1,4 @@
{
"url_prefix": "registration"
"url_prefix": "registration",
"app_config": ".apps.AppConfig"
}