boardinghouse.apps module

class boardinghouse.apps.BoardingHouseConfig(app_name, app_module)[source]

Bases: django.apps.config.AppConfig

Default AppConfig for django-boardinghouse.

This class ensures that all settings is boardinghouse.settings are present in the settings for the project. Defaults are pulled from that module.

There are also a couple of monkey-patches that are applied: for instance, AnonymousUser gets visible_schemata and schemata attributes, and the installed User model gets a visible_schemata if one is not present.

Some extra models are added to the private models list (which needs to happen here because it relies on django.contrib.auth being installed)

boardinghouse.apps.check_context_processor_installed(app_configs=None, **kwargs)[source]

Warn if our context processor is not installed.

boardinghouse.apps.check_db_backend(app_configs=None, **kwargs)[source]

Ensure all database backends are using a backend that we work with.

boardinghouse.apps.check_installed_before_admin(app_configs=None, **kwargs)[source]

If django.contrib.admin is also installed, we must be installed before it.

Is this even true anymore?

boardinghouse.apps.check_middleware_installed(app_configs=None, **kwargs)[source]

Ensure that _our_ middleware is installed.

boardinghouse.apps.check_session_middleware_installed(app_configs=None, **kwargs)[source]

Ensure that SessionMiddleware is installed.

Without it, we would be unable to store which schema should be active for a given request.