"""These are the available settings.All attributes prefixed ``HTMX_MODAL_FORMS_*`` can be overridden from your Djangoproject's settings module by defining a setting with the same name."""from__future__importannotationsfromdataclassesimportdataclassfromtypingimportAnyfromdjango.confimportsettingsasdjango_settings# All attributes accessed with this prefix are possible to overwrite# through django.conf.settings.SETTINGS_PREFIX="HTMX_MODAL_FORMS_"
[docs]@dataclass(frozen=True)classAppSettings:"""Access this instance as `.conf.app_settings`."""HTMX_MODAL_FORMS_ENABLED:bool=True"""Whether the app is enabled (dummy setting to demo usage)."""def__getattribute__(self,__name:str)->Any:""" Check if a Django project settings should override the app default. In order to avoid returning any random properties of the django settings, we inspect the prefix firstly. """if__name.startswith(SETTINGS_PREFIX)andhasattr(django_settings,__name):returngetattr(django_settings,__name)returnsuper().__getattribute__(__name)