apps.py 555 B

1234567891011121314151617
  1. from django.apps import apps
  2. def get_installed_apps():
  3. """
  4. Return the name and version number for each installed Django app.
  5. """
  6. installed_apps = {}
  7. for app_config in apps.get_app_configs():
  8. app = app_config.module
  9. if version := getattr(app, 'VERSION', getattr(app, '__version__', None)):
  10. if type(version) is tuple:
  11. version = '.'.join(str(n) for n in version)
  12. installed_apps[app_config.name] = version
  13. return {
  14. k: v for k, v in sorted(installed_apps.items())
  15. }