| 123456789101112131415161718192021222324252627282930313233343536 |
- """
- Helpers to load Django lazily when Django settings can't be configured.
- """
- import os
- import sys
- from typing import Any, Tuple
- import pytest
- def skip_if_no_django() -> None:
- """Raises a skip exception when no Django settings are available"""
- if not django_settings_is_configured():
- pytest.skip("no Django settings")
- def django_settings_is_configured() -> bool:
- """Return whether the Django settings module has been configured.
- This uses either the DJANGO_SETTINGS_MODULE environment variable, or the
- configured flag in the Django settings object if django.conf has already
- been imported.
- """
- ret = bool(os.environ.get("DJANGO_SETTINGS_MODULE"))
- if not ret and "django.conf" in sys.modules:
- django_conf = sys.modules["django.conf"] # type: Any
- return django_conf.settings.configured
- return ret
- def get_django_version() -> Tuple[int, int, int, str, int]:
- import django
- return django.VERSION
|