Где разместить терминал отладки Django в промежуточном ПО
В документации к отладочному терминалу Django говорится
Порядок следования MIDDLEWARE имеет важное значение. Вы должны включить промежуточное ПО Debug Toolbar как можно раньше в список. Однако оно должно идти после любого другого промежуточного ПО, которое кодирует содержимое ответа, например GZipMiddleware.
Но это может быть немного сложно. Например, в моем файле settings.py у меня есть
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
]
В этой ситуации лучше всего поместить debug_toolbar.middleware.DebugToolbarMiddleware
сразу после django.middleware.common.CommonMiddleware
, поскольку в этом случае используется force_text
, а AuthenticationMiddleware
, SessionMiddleware
и MessageMiddleware
, похоже, ничего не кодируют?