aboutsummaryrefslogtreecommitdiffstats
path: root/debug_toolbar/panels
diff options
context:
space:
mode:
Diffstat (limited to 'debug_toolbar/panels')
-rw-r--r--debug_toolbar/panels/staticfiles.py8
-rw-r--r--debug_toolbar/panels/timer.py2
-rw-r--r--debug_toolbar/panels/versions.py65
3 files changed, 44 insertions, 31 deletions
diff --git a/debug_toolbar/panels/staticfiles.py b/debug_toolbar/panels/staticfiles.py
index efaf841..daf8909 100644
--- a/debug_toolbar/panels/staticfiles.py
+++ b/debug_toolbar/panels/staticfiles.py
@@ -6,7 +6,6 @@ except ImportError:
threading = None
from django.conf import settings
-from django.core.exceptions import ImproperlyConfigured
from django.core.files.storage import get_storage_class
from django.contrib.staticfiles import finders, storage
from django.contrib.staticfiles.templatetags import staticfiles
@@ -102,13 +101,6 @@ class StaticFilesPanel(panels.Panel):
storage.staticfiles_storage = staticfiles.staticfiles_storage = _original_storage
@property
- def has_content(self):
- if "django.contrib.staticfiles" not in settings.INSTALLED_APPS:
- raise ImproperlyConfigured("Could not find staticfiles in "
- "INSTALLED_APPS setting.")
- return True
-
- @property
def num_used(self):
return len(self._paths[threading.currentThread()])
diff --git a/debug_toolbar/panels/timer.py b/debug_toolbar/panels/timer.py
index e19a15e..741f57a 100644
--- a/debug_toolbar/panels/timer.py
+++ b/debug_toolbar/panels/timer.py
@@ -6,7 +6,7 @@ except ImportError:
resource = None
import time
from django.template.loader import render_to_string
-from django.utils.translation import ugettext as _
+from django.utils.translation import ugettext_lazy as _
from debug_toolbar.panels import Panel
diff --git a/debug_toolbar/panels/versions.py b/debug_toolbar/panels/versions.py
index 321ba6e..29f165b 100644
--- a/debug_toolbar/panels/versions.py
+++ b/debug_toolbar/panels/versions.py
@@ -27,28 +27,49 @@ class VersionsPanel(Panel):
template = 'debug_toolbar/panels/versions.html'
def process_response(self, request, response):
- versions = [('Python', '%d.%d.%d' % sys.version_info[:3])]
- for app in list(settings.INSTALLED_APPS) + ['django']:
- name = app.split('.')[-1].replace('_', ' ').capitalize()
- app = import_module(app)
- if hasattr(app, 'get_version'):
- get_version = app.get_version
- if callable(get_version):
- version = get_version()
- else:
- version = get_version
- elif hasattr(app, 'VERSION'):
- version = app.VERSION
- elif hasattr(app, '__version__'):
- version = app.__version__
- else:
- continue
- if isinstance(version, (list, tuple)):
- version = '.'.join(str(o) for o in version)
- versions.append((name, version))
- versions = sorted(versions, key=lambda version: version[0])
-
+ versions = [
+ ('Python', '%d.%d.%d' % sys.version_info[:3]),
+ ('Django', self.get_app_version(django)),
+ ]
+ if django.VERSION[:2] >= (1, 7):
+ versions += list(self.gen_app_versions_1_7())
+ else:
+ versions += list(self.gen_app_versions_1_6())
self.record_stats({
- 'versions': OrderedDict(versions),
+ 'versions': OrderedDict(sorted(versions, key=lambda v: v[0])),
'paths': sys.path,
})
+
+ def gen_app_versions_1_7(self):
+ from django.apps import apps
+ for app_config in apps.get_app_configs():
+ name = app_config.verbose_name
+ app = app_config.module
+ version = self.get_app_version(app)
+ if version:
+ yield name, version
+
+ def gen_app_versions_1_6(self):
+ for app in list(settings.INSTALLED_APPS):
+ name = app.split('.')[-1].replace('_', ' ').capitalize()
+ app = import_module(app)
+ version = self.get_app_version(app)
+ if version:
+ yield name, version
+
+ def get_app_version(self, app):
+ if hasattr(app, 'get_version'):
+ get_version = app.get_version
+ if callable(get_version):
+ version = get_version()
+ else:
+ version = get_version
+ elif hasattr(app, 'VERSION'):
+ version = app.VERSION
+ elif hasattr(app, '__version__'):
+ version = app.__version__
+ else:
+ return
+ if isinstance(version, (list, tuple)):
+ version = '.'.join(str(o) for o in version)
+ return version