aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.rst7
-rw-r--r--debug_toolbar/panels/settings_vars.py23
-rw-r--r--debug_toolbar/templates/debug_toolbar/panels/settings_vars.html17
-rw-r--r--debug_toolbar/toolbar/loader.py3
4 files changed, 46 insertions, 4 deletions
diff --git a/README.rst b/README.rst
index 7c0c8f3..0e83468 100644
--- a/README.rst
+++ b/README.rst
@@ -10,11 +10,12 @@ Currently, the following panels have been written and are working:
- Django version
- Request timer
+- A list of settings in settings.py
- Common HTTP headers
- GET/POST/cookie/session variable display
+- Templates and context used, and their template paths
- SQL queries including time to execute and links to EXPLAIN each query
- Cache stats
-- Templates and context used, and their template paths
- Logging output via Python's built-in logging module
If you have ideas for other panels please let us know.
@@ -54,11 +55,12 @@ Installation
DEBUG_TOOLBAR_PANELS = (
'debug_toolbar.panels.version.VersionDebugPanel',
'debug_toolbar.panels.timer.TimerDebugPanel',
+ 'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel',
'debug_toolbar.panels.headers.HeaderDebugPanel',
'debug_toolbar.panels.request_vars.RequestVarsDebugPanel',
+ 'debug_toolbar.panels.template.TemplateDebugPanel',
'debug_toolbar.panels.sql.SQLDebugPanel',
'debug_toolbar.panels.cache.CacheDebugPanel',
- 'debug_toolbar.panels.template.TemplateDebugPanel',
'debug_toolbar.panels.logger.LoggingPanel',
)
@@ -68,7 +70,6 @@ Installation
TODO
====
-- Panel idea: Show some commonly used settings from settings.py
- Panel idea: AJAX call to show cprofile data similar to the ?prof idea
- CSS Stylings
- Restructure panels to popular context that pushes up to the toolbar
diff --git a/debug_toolbar/panels/settings_vars.py b/debug_toolbar/panels/settings_vars.py
new file mode 100644
index 0000000..e090718
--- /dev/null
+++ b/debug_toolbar/panels/settings_vars.py
@@ -0,0 +1,23 @@
+from django.conf import settings
+from django.template.loader import render_to_string
+from django.views.debug import get_safe_settings
+from debug_toolbar.panels import DebugPanel
+
+class SettingsVarsDebugPanel(DebugPanel):
+ """
+ A panel to display all variables in django.conf.settings
+ """
+ name = 'SettingsVars'
+ has_content = True
+
+ def title(self):
+ return 'Settings'
+
+ def url(self):
+ return ''
+
+ def content(self):
+ context = {
+ 'settings': get_safe_settings(),
+ }
+ return render_to_string('debug_toolbar/panels/settings_vars.html', context)
diff --git a/debug_toolbar/templates/debug_toolbar/panels/settings_vars.html b/debug_toolbar/templates/debug_toolbar/panels/settings_vars.html
new file mode 100644
index 0000000..f1e6684
--- /dev/null
+++ b/debug_toolbar/templates/debug_toolbar/panels/settings_vars.html
@@ -0,0 +1,17 @@
+<h3>Settings from <code>{{ settings.SETTINGS_MODULE }}</code></h3>
+<table>
+ <thead>
+ <tr>
+ <th>Setting</th>
+ <th>Value</th>
+ </tr>
+ </thead>
+ <tbody>
+ {% for var in settings.items|dictsort:"0" %}
+ <tr>
+ <td>{{ var.0 }}</td>
+ <td><code>{{ var.1|pprint }}</code></td>
+ </tr>
+ {% endfor %}
+ </tbody>
+</table>
diff --git a/debug_toolbar/toolbar/loader.py b/debug_toolbar/toolbar/loader.py
index 29ab46e..b217665 100644
--- a/debug_toolbar/toolbar/loader.py
+++ b/debug_toolbar/toolbar/loader.py
@@ -15,11 +15,12 @@ class DebugToolbar(object):
self.default_panels = (
'debug_toolbar.panels.version.VersionDebugPanel',
'debug_toolbar.panels.timer.TimerDebugPanel',
+ 'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel',
'debug_toolbar.panels.headers.HeaderDebugPanel',
'debug_toolbar.panels.request_vars.RequestVarsDebugPanel',
+ 'debug_toolbar.panels.template.TemplateDebugPanel',
'debug_toolbar.panels.sql.SQLDebugPanel',
'debug_toolbar.panels.cache.CacheDebugPanel',
- 'debug_toolbar.panels.template.TemplateDebugPanel',
'debug_toolbar.panels.logger.LoggingPanel',
)
self.load_panels()