Добавить страницу отладки в проект Django?

#python #django

#python #django

Вопрос:

Я предоставляю проект Django клиенту, который запросил страницу «отладки», на которой будет отображаться полезная информация.

[ОБНОВЛЕНИЕ для ясности: нам нужна эта страница, чтобы мы могли использовать ее для отладки в будущем: клиенты не очень техничны, и у меня не будет прямого доступа к их серверам. В случае будущих проблем было бы очень полезно, если бы я мог проверить эту страницу, не прося их редактировать Debug настройки или выполнять какие-либо другие манипуляции на стороне сервера.]

Проект будет запущен в производство, поэтому я не могу установить DEBUG=True .

Мне бы хотелось, чтобы страница была похожа на страницу отладки Django, но без какой-либо конфиденциальной информации.

Думаю, я могу просто написать свою собственную, но есть ли у кого-нибудь какие-нибудь идеи? Что-нибудь стандартное в Django, что я мог бы использовать?

Спасибо!

Комментарии:

1. Какую полезную информацию вы пытаетесь показать?

2. «просто написать свой собственный», почему бы и нет? Кроме того, вы можете использовать стандартную страницу отладки, вы знаете, без настройки DEBUG. Вы можете просто вызвать это. Это обычная функция. Почему бы этого не сделать? Пожалуйста, объясните подробнее, что вы собираетесь показать. Указание того, что вы не будете показывать («без какой-либо конфиденциальной информации»), не является полезным набором требований. Негативные требования (то, что вы не будете делать) не помогают.

3. @S.Лотт: Пожалуйста, не могли бы вы объяснить, как вызвать стандартную страницу отладки Django? Я не могу найти это, по крайней мере, не путем поиска в Google «стандартной страницы отладки Django» и подобных. В принципе, я хотел бы показать как можно больше информации, без чего-либо, что могло бы помочь враждебным пользователям взломать сайт. Я знаю, что это негативное требование, но, ну, я не уверен в будущих требованиях — мне нужна страница, которую я или пользователи сайта могли бы использовать для отладки возможных будущих проблем.

4. «что-нибудь, что могло бы помочь враждебно настроенным пользователям»? Пожалуйста, обдумайте это более тщательно. Неопределенность — это то, что приводит к нарушениям безопасности.

Ответ №1:

Поиск в Google «стандартная страница отладки Django»

Не так эффективно, как чтение самого исходного кода Django.

Посмотрите в base.py для кода, подобного этому

 from django.views import debug
  

Это даст вам несколько подсказок относительно того, как они это делают.

Затем вы можете посмотреть на django/views/debug.py для функции просмотра «technical_404_response». Вы также можете использовать эту функцию в своем коде.

Комментарии:

1. 1 за совет по чтению исходного кода Django:-). Обычно люди боятся читать исходные тексты используемых библиотек, и это часто очень помогает

Ответ №2:

Вы можете использовать панель инструментов Django Debug и включать ее только для выбранных IP-адресов