Ни в коем случае нельзя включать отладку на боевом сервере. Рекомендуется создать копию сервера, недоступную для пользователя.
В файле settings.py задается переменная DEBUG. Если при загрузке страницы произошла ошибка, то в зависимости от значения этой переменной выдается либо страница с HTTP ошибкой, либо страница с отладочной информацией.
На локальном сервере разработчика значение DEBUG равно True большую часть времени, а на боевом сервере значение DEBUG должно быть всегда равно False. Но можно создать тестовый сервер, копию боевого, где значением DEBUG можно управлять.
Следующий код позволяет включать и отключать отладку на локальном сервере и на сервере Openshift. Код располагается в файле settings.py.
import os
ON_PAAS = 'OPENSHIFT_REPO_DIR' in os.environ
LOCAL_DEBUG = True
ENV_DEBUG = os.environ.get('DEBUG') == 'True'
DEBUG = (not ON_PAAS and LOCAL_DEBUG) or (ON_PAAS and ENV_DEBUG)
if ON_PAAS and DEBUG:
print("Warning: debug mode!")
Переменная ON_PAAS равна True если код выполняется на сервере Openshift, иначе она равна False. Переменная LOCAL_DEBUG включает или отключает локальную отладку.
При отключении отладки на локальном сервере в список ALLOWED_HOSTS должна быть добавлена строка ‘localhost’.
ALLOWED_HOSTS = ['localhost']
Включить отладку на сервере Openshift можно если создать переменную окружения DEBUG со значением True.
Управлять переменными окружения на Openshift можно с помощью инструмента rhc. Следующие команды включают отладку на сервере Openshift.
rhc env set DEBUG=True -a test
rhc app stop -a test
rhc app start -a test
Где test — это имя приложения. Первая команда устанавливает переменную окружения, а две другие перезапускают приложение.
Отключить отладку можно следующими командами.
rhc env unset DEBUG -a test
rhc app stop -a test
rhc app start -a test
Вместо первой команды можно использовать следующую команду.
rhc env set DEBUG=False -a test
Понравилось это:
Нравится Загрузка...