File: apps.py

package info (click to toggle)
django-dynamic-preferences 1.17.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 476 kB
  • sloc: python: 3,040; makefile: 3
file content (24 lines) | stat: -rw-r--r-- 936 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from django.apps import AppConfig, apps
from django.conf import settings
from django.utils.translation import gettext_lazy as _
from .registries import preference_models, global_preferences_registry
from .settings import preferences_settings


class DynamicPreferencesConfig(AppConfig):
    name = "dynamic_preferences"
    verbose_name = _("Dynamic Preferences")
    default_auto_field = "django.db.models.AutoField"

    def ready(self):
        if preferences_settings.ENABLE_GLOBAL_MODEL_AUTO_REGISTRATION:
            GlobalPreferenceModel = self.get_model("GlobalPreferenceModel")

            preference_models.register(
                GlobalPreferenceModel, global_preferences_registry
            )

        # This will load all dynamic_preferences_registry.py files under
        # installed apps
        app_names = [app.name for app in apps.app_configs.values()]
        global_preferences_registry.autodiscover(app_names)