From 7bdd585df4f12ed5fa3cb6c42f3e66bcbafa0aa6 Mon Sep 17 00:00:00 2001 From: Filipe Waitman Date: Mon, 5 Nov 2018 16:26:51 -0200 Subject: [PATCH] Ensure INSTALLED_APPS sanity for flat app according to Django version --- flat/__init__.py | 1 + flat/apps.py | 13 +++++++++++++ flat/settings.py | 21 +++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 flat/apps.py create mode 100644 flat/settings.py diff --git a/flat/__init__.py b/flat/__init__.py index 7bb021e..98282ac 100644 --- a/flat/__init__.py +++ b/flat/__init__.py @@ -1 +1,2 @@ __version__ = '1.1.3' +default_app_config = 'flat.apps.FlatConfig' diff --git a/flat/apps.py b/flat/apps.py new file mode 100644 index 0000000..7566e25 --- /dev/null +++ b/flat/apps.py @@ -0,0 +1,13 @@ +# -*- coding: utf-8 -*- + +from django.apps import AppConfig + + +class FlatConfig(AppConfig): + name = 'flat' + verbose_name = 'Django flat theme' + + def ready(self): + from flat import settings + + settings.check_installed_apps() diff --git a/flat/settings.py b/flat/settings.py new file mode 100644 index 0000000..4d193ca --- /dev/null +++ b/flat/settings.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- + +import django +from django.conf import settings +from django.core.exceptions import ImproperlyConfigured + + +def check_installed_apps(): + dj_version = django.VERSION + installed_apps = settings.INSTALLED_APPS + + if dj_version < (1, 9): + if 'flat' not in installed_apps: + raise ImproperlyConfigured( + '\'flat\' needed before django 1.9, ' + 'add it to settings.INSTALLED_APPS.') + else: + if 'flat' in installed_apps: + raise ImproperlyConfigured( + '\'flat\' not needed since django 1.9, ' + 'remove it from settings.INSTALLED_APPS.')