Отладка django-каналов

Я пытаюсь включить django-каналы в свой следующий проект, но у меня возникают проблемы с отладкой. Я пробовал отладчик pycharms, а также pdb, но он не попадает в точки останова.


person Mantis    schedule 12.09.2016    source источник
comment
В проект сообщества Channels добавлен пакет для отладки каналов Django. Пожалуйста, проверьте это... channels.readthedocs.io/en/latest/community.html   -  person Raja Simon    schedule 13.09.2016


Ответы (3)


Взгляните на панель каналов django. Это плагин для панели инструментов отладки django. Вы можете добавить django-channels-panel к этому, чтобы добавить функциональность отладки канала в ваш проект. Это гарантирует, что вы можете передавать информацию, когда ваше приложение находится в режиме разработки.

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

Установка [панель инструментов отладки Django]

pip install django-debug-toolbar

В настройках.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',
]

Установка [панель каналов 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
person ahumblenerd    schedule 18.10.2016
comment
Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится. – Из обзора - person Matt Cremeens; 18.10.2016
comment
@MattCremeens Теперь я добавил более подробный ответ с достаточным количеством примеров кода поверх ссылок для установки. - person ahumblenerd; 20.10.2016

Добавление PYCHARM_DEBUG=True к переменным среды решило это для меня.

Это добавляет много дополнительных журналов для вывода при запуске отладчика, но кажется, что проблема остается исправленной даже после удаления значения PYCHARM_DEBUG из конфигурации.

person Tonis F. Piip    schedule 14.01.2018

Это то, что работает для меня в настоящее время:

В настройках отладки Python убедитесь, что флажок Gevent-совместимость снят.

Я не думаю, что что-то еще нужно. Мои точки останова срабатывают после изменения этого параметра и не срабатывают, когда установлен флажок Gevent-совместимость.

person Tim Richardson    schedule 23.10.2019