Панель инструментов отладки Django в Heroku - PullRequest
3 голосов
/ 05 марта 2012

Как я могу использовать Django Debug Toolbar в Heroku, когда я не знаю IP-адрес, вот так:

INTERNAL_IPS = ('127.0.0.1', )

Всегда терпит неудачу.

Ответы [ 4 ]

4 голосов
/ 05 марта 2012

Нет зависимости от INTERNAL_IPS для отображения панели инструментов отладки.Это просто стандартный способ гарантировать, что вы будете показывать его только своим реальным разработчикам.Как объясняется в документации, вы можете предоставить свою собственную логику для этого, определив функцию, значение которой SHOW_TOOLBAR_CALLBACK указывает на эту функцию.Так, например, вы можете проверить определенное имя пользователя или просто вернуть True, чтобы оно всегда отображалось.

4 голосов
/ 20 октября 2012

В моем файле settings.py есть следующее, которое работает как локально, так и при развертывании в Heroku:

MIDDLEWARE_CLASSES = (
  ...
  'debug_toolbar.middleware.DebugToolbarMiddleware'
 ...
)

if DEBUG is True:
   INSTALLED_APPS += (
       'debug_toolbar',
       )

if DEBUG is True:
  class AllIPS(list):
      def __contains__(self, item):
           return True
  INTERNAL_IPS = AllIPS()
1 голос
/ 28 августа 2013

Продолжая работу над ответом Дэниэла Роузмана, вы узнаете, как отобразить панель инструментов для сотрудников: назначьте пунктирный путь к функции для SHOW_TOOLBAR_CALLBACK

settings.py:

def show_toolbar(request):
    return request.user.is_staff

DEBUG_TOOLBAR_CONFIG = {
    # ...
    'SHOW_TOOLBAR_CALLBACK': 'project.settings.show_toolbar',
}
0 голосов
/ 05 марта 2012

Вы можете поместить {{ request.META.REMOTE_ADDR }} в свой шаблон и увидеть IP, который DJDT хочет видеть в INTERNAL_IPS. Документация по запросу. META .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...