Что устанавливает переменную __debug__ на производственном сайте на основе Django / WSGI? - PullRequest
2 голосов
/ 17 февраля 2011

Документация Python определяет глобальную константу с именем __debug__:

__ debug __

Эта константа имеет значение true, если Python не был запущен с параметром -O.См. Также утверждение assert.

Я использую некоторую библиотеку python под своим рабочим сайтом Django (на основе Apache / WSGI), которая проверяет эту константу перед выполнением кода только для отладки. К моему удивлению, этот кодвыполняется в производстве.

Поскольку сайт Django не был запущен через интерпретатор командной строки python, мне было интересно, что контролирует эту константу __deubg__?

Ответы [ 3 ]

1 голос
/ 17 февраля 2011

Похоже, вы можете использовать переменную окружения PYTHONOPTIMIZE .Возможно, вам придется установить его из вашей конфигурации apache ... Не слишком уверен, что я долго не использовал стандартную настройку WSGI.

1 голос
/ 11 марта 2013

Ради всех, кто следует, вот директива wsgi, которую вы ищете: WSGIPythonOptimize

Документация гласит:

The default is '0' which means no optimisations are applied.

Итак, врегистр по умолчанию __debug__ будет True.

0 голосов
/ 17 февраля 2011

settings.DEBUG установлено на False?

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