from django.apps import AppConfig from django.conf import settings class DiscourseConfig(AppConfig): name = 'pingcap_sso.discourse' def ready(self): self._check_required_conf() def _check_required_conf(self): required_confs = [ 'DISCOURSE_SSO_TOKEN', 'DISCOURSE_SSO_CALLBACK_URI', 'DISCOURSE_SSO_SYNC_ENDPOINT', 'DISCOURSE_API_KEY' ] for conf in required_confs: if not getattr(settings, conf): raise Exception('Discourse required {} in settings.py'.format(conf))