DEBUG TOOLBAR Конфигурация

DEBUG TOOLBAR Конфигурация

Панель инструментов отладки содержит две настройки, которые вы можете добавить в модуль настроек вашего проекта, чтобы настроить его поведение.

Запись

Вам действительно нужна индивидуальная DEBUG TOOLBAR конфигурация?

Панель инструментов отладки поставляется с конфигурацией по умолчанию, которая считается разумной для подавляющего большинства проектов Django. Не копируйте и не вставляйте вслепую значения по умолчанию, показанные ниже, в свой модуль настроек! Это бесполезно, и это помешает вам воспользоваться преимуществами лучших настроек по умолчанию, которые могут появиться в будущих версиях.

DEBUG_TOOLBAR_PANELS

Этот параметр указывает полный путь Python к каждой панели, которую вы хотите включить в панель инструментов. Это работает как настройка MIDDLEWARE в Django. Значение по умолчанию:

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',
    'debug_toolbar.panels.profiling.ProfilingPanel',
]

Этот параметр позволяет вам:

  • добавить встроенные панели, которые не включены по умолчанию,
  • добавить сторонние панели,
  • удалить встроенные панели,
  • изменить порядок панелей.

DEBUG_TOOLBAR_CONFIG

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

Toolbar опции

  • DISABLE_PANELS

    Стандартная: {'debug_toolbar.panels.redirects.RedirectsPanel'}

    Этот параметр представляет собой набор полных путей Python к каждой панели, которую вы хотите отключить (но по-прежнему отображать) по умолчанию.

  • INSERT_BEFORE

    Стандартная: '</body>'

    Панель инструментов ищет эту строку в HTML и вставляет себя непосредственно перед этим.

  • RENDER_PANELS

    Стандартная: None

    Если установлено значение False, панель инструментов отладки будет хранить содержимое панелей в памяти на сервере и загружать их по требованию. Если установлено значение True, он будет отображать панели внутри каждой страницы. Это может замедлить рендеринг страницы, но это требуется на многопроцессорных серверах, например, если вы развернете панель инструментов в рабочей среде (что не рекомендуется).

    Значение по умолчанию None указывает панели инструментов автоматически выполнять правильные действия в зависимости от того, выполняет ли контейнер WSGI несколько процессов. Этот параметр позволяет вам вызвать другое поведение, если это необходимо.

  • RESULTS_CACHE_SIZE

    Стандартная: 10

    Панель инструментов сохраняет в памяти столько результатов.

  • ROOT_TAG_EXTRA_ATTRS

    Стандартная: ''

    Этот параметр внедряется в корневой шаблон div, чтобы избежать конфликтов с клиентскими структурами. Например, при использовании панели инструментов отладки с Angular.js установите для этого параметра значение ‘ng-non-bindable’ или ‘class = «ng-non-bindable»‘.

  • SHOW_COLLAPSED

    Стандартная: False

    IЕсли значение f изменено на True, панель инструментов будет свернута по умолчанию.

  • SHOW_TOOLBAR_CALLBACK

    Стандартная: 'debug_toolbar.middleware.show_toolbar'

    Это пунктирный путь к функции, используемый для определения, должна ли отображаться панель инструментов или нет. Проверка по умолчанию заключается в том, что для параметра DEBUG должно быть установлено значение True, а IP-адрес запроса должен находиться в INTERNAL_IPS. Вы можете предоставить свой собственный обратный вызов функции (запрос), который возвращает True или False.

    Для версий <1.8 обратный вызов также должен возвращать False для запросов AJAX. Начиная с версии 1.8, запросы AJAX проверяются в промежуточном программном обеспечении, а не в обратном вызове. Это позволяет повторно использовать обратный вызов для проверки доступа к представлениям панели, запрашиваемым через AJAX.

Панель настроек

  • EXTRA_SIGNALS

    Стандартная: []

    Панель: сигналы

    Список пользовательских сигналов, которые могут быть в вашем проекте, определяется как путь Python к сигналу.

  • ENABLE_STACKTRACES

    Стандартная: True

    Панель: cache, SQL

    Если установлено значение True, будут отображаться трассировки стека для запросов SQL и вызовов кеша. Включение трассировки стека может увеличить время процессора, используемое при выполнении запросов.

  • ENABLE_STACKTRACES_LOCALS

    Стандартная: False

    Панель: cache, SQL

    Если установлено значение True, это покажет locals () для каждого фрагмента кода трассировки стека для запросов SQL и вызовов кэша. Включение локальных трассировок стека увеличит процессорное время, используемое при выполнении запросов, и в большинстве случаев даст слишком подробную информацию, но полезно для отладки сложных случаев.

Предупреждение

Это откроет все элементы из каждого кадра стека трассировки. Это может потенциально раскрыть конфиденциальную или личную информацию. Рекомендуется использовать эту конфигурацию только локально.

  • HIDE_IN_STACKTRACES

    Стандартная:

    (
        "socketserver",
        "threading",
        "wsgiref",
        "debug_toolbar",
        "django.db",
        "django.core.handlers",
        "django.core.servers",
        "django.utils.decorators",
        "django.utils.deprecation",
        "django.utils.functional",
    )
    

    Панель: cache, SQL

    Полезно для устранения связанных с сервером записей, которые могут привести к огромным структурам DOM и задержкам рендеринга панели инструментов.

  • PROFILER_MAX_DEPTH

    Стандартная: 10

    Панель: profiling

    Этот параметр влияет на глубину вызовов функций в анализе профилировщика.

  • SHOW_TEMPLATE_CONTEXT

    Стандартная: True

    Панель: templates

    Если установлено значение True, контекст шаблона будет включен с ним в панель отладки шаблона. Отключение этого полезно, если у вас большие контекстные шаблоны или у вас есть контекстные шаблоны с отложенными структурами данных, которые вы не хотите оценивать.

  • SKIP_TEMPLATE_PREFIXES

    Стандартная: ('django/forms/widgets/', 'admin/widgets/')

    Панель: templates.

    Шаблоны, начинающиеся с этих строк, пропускаются при сборе визуализированных шаблонов и контекстов. Виджеты форм на основе шаблонов пропускаются по умолчанию, поскольку панель HTML может легко увеличиваться до сотен мегабайт со многими полями формы и множеством параметров.

  • SQL_WARNING_THRESHOLD

    Стандартная: 500

    Панель: SQL

    Панель SQL выделяет запросы, выполнение которых заняло больше времени в миллисекундах.

Вот как может выглядеть слегка измененная конфигурация панели инструментов:

# This example is unlikely to be appropriate for your project.
DEBUG_TOOLBAR_CONFIG = {
    # Toolbar options
    'RESULTS_CACHE_SIZE': 3,
    'SHOW_COLLAPSED': True,
    # Panel options
    'SQL_WARNING_THRESHOLD': 100,   # milliseconds
}

Исчтоник: https://django-debug-toolbar.readthedocs.io/

Добавить комментарий