django - 安装 Django 调试工具栏的困难

标签 django django-debug-toolbar

我尝试安装 Django Panels 并遇到错误。我使用 pip 安装 -- pip install django-debug-toolbar ——而且似乎一切顺利。但是当我像这样将它添加到我的项目中时:

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.staticfiles',
    'django.contrib.sites',
    'django.contrib.admin',
    'django.contrib.flatpages',
    'coltrane',
    'markdown',
    'debug_toolbar',
)

然后跑 python manage.py syncdb得到以下错误:
python manage.py syncdb
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Django-1.7.dev20140121103749-py2.7.egg/django/core/management/__init__.py", line 427, in execute_from_command_line
    utility.execute()
  File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Django-1.7.dev20140121103749-py2.7.egg/django/core/management/__init__.py", line 391, in execute
    django.setup()
  File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Django-1.7.dev20140121103749-py2.7.egg/django/__init__.py", line 21, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Django-1.7.dev20140121103749-py2.7.egg/django/apps/registry.py", line 105, in populate
    app_config.import_models(all_models)
  File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Django-1.7.dev20140121103749-py2.7.egg/django/apps/base.py", line 160, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/debug_toolbar/models.py", line 10, in <module>
    from debug_toolbar.middleware import DebugToolbarMiddleware
  File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/debug_toolbar/middleware.py", line 13, in <module>
    from debug_toolbar.toolbar import DebugToolbar
  File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/debug_toolbar/toolbar.py", line 153, in <module>
    urlpatterns = DebugToolbar.get_urls()
  File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/debug_toolbar/toolbar.py", line 147, in get_urls
    for panel_class in cls.get_panel_classes():
  File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/debug_toolbar/toolbar.py", line 125, in get_panel_classes
    (panel_module, e))
django.core.exceptions.ImproperlyConfigured: Error importing debug panel debug_toolbar.panels.signals: "cannot import name WEAKREF_TYPES"

我已经四处寻找答案,但没有运气。有谁知道这里可能有什么问题?任何帮助将不胜感激。

最佳答案

问题特别在于信号调试面板。显然,Django 1.7 对信号库进行了大量更改,这些更改与调试工具栏特别不兼容。

如果禁用该面板,则可以在 Django 1.7 上运行 DDT。只需更改 settings.py 即可轻松完成:

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.sql.SQLDebugPanel',
    'debug_toolbar.panels.template.TemplateDebugPanel',
    'debug_toolbar.panels.cache.CacheDebugPanel',
    #'debug_toolbar.panels.signals.SignalDebugPanel',
    'debug_toolbar.panels.logger.LoggingPanel',
    'debug_toolbar.panels.profiling.ProfilingDebugPanel',
]

如果您需要信号检测,可以向后移植 WEAKREF_TYPES来自 Django 1.6 django.dispatch.dispatcher进入您的环境并使用适当的依赖项更新 debug_toolbar.panels.signals。这花了我大约十分钟,但是当我发现我可以禁用问题面板时,我放弃了该解决方案。

关于django - 安装 Django 调试工具栏的困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21359625/

相关文章:

python - Django调试工具栏1.8离线模式

python - django-debug-toolbar-line-profiler 只显示单行输出,没有内容

python-3.6 - ModuleNotFoundError : No module named 'debug_toolbar'

python - Django 调试工具栏仅适用于管理部分

django - 如何在查询性能目的中使用 Django 分页器?

python - 为什么 Django 的每站点缓存中间件对我不起作用?

javascript - 使用 AJAX html() 加载 Django 模板会产生不需要的文本

python - 如何在 Django 模板中经历两个循环

django - PermissionRequiredMixin 和 LoginRequiredMixin 可以结合使用吗?

python - 如何让 django-debug-toolbar 只显示在我托管在 python 上的 IP 地址上?