【问题标题】:Debugging django-channels调试 django 通道
【发布时间】:2016-09-12 20:43:44
【问题描述】:

我正在尝试将 django-channels 合并到我的下一个项目中,但我在调试时遇到了问题。我已经尝试过 pycharms 调试器和 pdb,但它没有达到断点。

【问题讨论】:

标签: django pycharm django-channels


【解决方案1】:

这是目前对我有用的:

在 Python 调试设置中,确保未勾选 Gevent-compatible

我认为没有其他必要了。更改此设置后会命中我的断点,而勾选 Gevent-compatible 时不会命中。

【讨论】:

    【解决方案2】:

    将 PYCHARM_DEBUG=True 添加到环境变量中为我解决了这个问题。

    这增加了运行调试器时要输出的大量额外日志记录,但似乎即使从配置中删除 PYCHARM_DEBUG 值后问题仍然得到解决。

    【讨论】:

      【解决方案3】:

      查看 django 频道面板。它是django debug toolbar 的插件。您可以将 django-channels-panel 添加到此以将通道调试功能添加到您的项目中。这确保您可以在您的应用程序处于开发模式时传输详细信息。

      https://github.com/Krukov/django-channels-panel

      Installation [Django 调试工具栏]

      pip install django-debug-toolbar

      在settings.py中

      INSTALLED_APPS = [
          # ...
          'django.contrib.staticfiles',
          # ...
          'debug_toolbar',
      ]
      MIDDLEWARE = [
          # ...
          'debug_toolbar.middleware.DebugToolbarMiddleware',
          # ...
      ]
      

      在 urls.py 中

      from django.conf import settings
      from django.conf.urls import include, url
      
      if settings.DEBUG:
          import debug_toolbar
          urlpatterns += [
              url(r'^__debug__/', include(debug_toolbar.urls)),
          ]
      

      配置

      DEBUG_TOOLBAR_PANELS = [
          'debug_toolbar.panels.versions.VersionsPanel',
          'debug_toolbar.panels.timer.TimerPanel',
          'debug_toolbar.panels.settings.SettingsPanel',
          'debug_toolbar.panels.headers.HeadersPanel',
          'debug_toolbar.panels.request.RequestPanel',
          'debug_toolbar.panels.sql.SQLPanel',
          'debug_toolbar.panels.staticfiles.StaticFilesPanel',
          'debug_toolbar.panels.templates.TemplatesPanel',
          'debug_toolbar.panels.cache.CachePanel',
          'debug_toolbar.panels.signals.SignalsPanel',
          'debug_toolbar.panels.logging.LoggingPanel',
          'debug_toolbar.panels.redirects.RedirectsPanel',
      ]
      

      Installation [Django 频道面板]

         pip install django-channels-panel
      
         add 'channels_panel' to your INSTALLED_APPS in settings.py
      
         add 'channels_panel.panel.ChannelsDebugPanel' to your DEBUG_TOOLBAR_PANELS
      

      【讨论】:

      • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
      • @MattCremeens 我现在在安装链接的顶部添加了一个更详细的答案,其中包含足够的代码示例
      猜你喜欢
      • 1970-01-01
      • 2019-09-26
      • 2013-10-20
      • 1970-01-01
      • 1970-01-01
      • 2017-01-01
      • 2018-08-14
      • 1970-01-01
      • 2019-11-28
      相关资源
      最近更新 更多