• 3.1
  • 3.2
  • 5.0
  • Версия документации: 6.1

Сообщения об ошибках и запросы о новых фичах

Важно

Сообщайте о проблемах безопасности только по адресу security@djangoproject.com. Это закрытый список, открытый только для давних и пользующихся большим доверием разработчиков Django, и его архивы не являются общедоступными. Более подробную информацию можно найти в нашей политике безопасности.

Отправка сообщений об ошибках

Прежде чем сообщать об ошибке в трекере билетов, обратите внимание на следующие моменты:

  • Убедитесь, что кто-то еще не отправил отчет об ошибке, выполнив поиск или запустив специальные запросы в системе отслеживания заявок.

  • Не используйте систему тикетов, чтобы задавать вопросы о поддержке. Используйте для этого Форум Django или сервер Django Discord.

  • Не открывайте повторно проблемы, отмеченные как «wontfix», не найдя консенсуса на этот счет на Форуме Django.

  • Не используйте трекер тикетов для длительных обсуждений, так как они, скорее всего, затеряются. Если конкретный тикет вызывает споры, пожалуйста, перенесите обсуждение на Форум Django.

Хорошо написанные отчеты об ошибках невероятно полезны. Однако работа с любой системой отслеживания ошибок сопряжена с определенными накладными расходами, поэтому мы ценим вашу помощь в поддержании максимальной полезности нашего трекера тикетов. В частности:

  • Обязательно прочтите FAQ, чтобы узнать, не является ли ваша проблема давно решенной.

  • Сначала спросите на Форуме Django или Сервере Django Discord, если вы не уверены, что то, что вы видите, является ошибкой.

  • **Пишите полные, воспроизводимые, конкретные отчеты об ошибках. Вы должны включить четкое, краткое описание проблемы и набор инструкций по ее воспроизведению. Добавьте как можно больше отладочной информации: фрагменты кода, тестовые случаи, обратные трассировки исключений, снимки экрана и т. д. Хороший небольшой тест кейс является лучшим способом сообщить об ошибке, поскольку он дает нам способ быстро подтвердить ошибку.

  • Не пишите на Форуме Django только для того, чтобы объявить, что вы отправили отчет об ошибке. Все тикеты отправляются в другой список, django-updates, который отслеживается разработчиками и заинтересованными членами сообщества; мы видим их как отправленные.

Чтобы понять жизненный цикл вашей заявки после ее создания, обратитесь к Рабочий процесс сортировки.

Сообщить об ошибках пользовательского интерфейса

Если ваша ошибка затрагивает что-либо визуальное, необходимо следовать нескольким дополнительным рекомендациям:

  • Включайте в свой тикет скриншоты, которые демонстрируют тест кейс. Покажите проблему, а не безумные настройки, которые вы внесли в свой браузер.

  • Если проблему сложно продемонстрировать с помощью неподвижного изображения, рассмотрите возможность снять короткий скринкаст. Если ваше программное обеспечение это позволяет, снимите только соответствующую область экрана.

  • Если вы предлагаете патч, который изменяет внешний вид или поведение пользовательского интерфейса Django, вы должны прикрепить его до и после снимков экрана/скринкастов. Без них тикеты трудно быстро оценить.

  • Снимки экрана не освобождают вас от других правил составления отчетов. Обязательно включайте URL-адреса, фрагменты кода и пошаговые инструкции о том, как воспроизвести поведение, видимое на снимках экрана.

  • Обязательно установите флаг UI/UX на тикете, чтобы заинтересованные стороны могли найти ваш тикет.

  • Если проблема связана с доступностью, пожалуйста, дайте ссылку на соответствующий стандарт доступности, если применимо.

Запрос новых функций

Мы всегда стараемся сделать Django лучше, и ваши запросы на новые функции являются ключевой частью этого. Вот несколько советов о том, как сделать запрос наиболее эффективно:

  • Оцените, требует ли идея функции изменений в ядре Django. Если вашу идею можно разработать как независимое приложение или модуль — например, вы хотите поддерживать другое ядро ​​базы данных — мы, вероятно, предложим вам разработать ее самостоятельно. Затем, если ваш проект получит достаточную поддержку сообщества, мы можем рассмотреть возможность его включения в Django.

  • Предложите эту функцию в проекте новые идеи функций GitHub (не в системе отслеживания заявок), создав новый элемент в столбце Идея. Здесь сообщество и Управляющий совет оценивают новые идеи для экосистемы Django. Этот шаг особенно важен для больших или сложных предложений. Мы предпочитаем обсуждать любые существенные изменения в ядре Django до начала разработки. В некоторых случаях функция может лучше подходить в виде стороннего пакета, где она может развиваться независимо от цикла выпуска Django.

  • Опишите четко и кратко, какой функции не хватает и как бы вы хотели ее реализовать. Приложите пример кода (код необязательно должен быть на 100% рабочим), если это возможно.

  • Объясните, почему вам нужна эта функция. Это поможет другим понять, где она вписывается, и существуют ли уже другие способы достичь того же.

См. также: Документирование новых функций.

Запрос на оптимизацию производительности

Отчеты о регрессии производительности или предлагаемые оптимизации производительности должны содержать контрольные показатели и команды для воспроизведения.

Дополнительные сведения о существующих тестах производительности Django см. в Тесты django-asv.

Как мы принимаем решения

По возможности мы стремимся к приблизительному консенсусу. Реакции в виде смайлов используются для решения проблем в рамках проекта GitHub «новые идеи функций» для отслеживания отзывов сообщества. Каждой реакции присвоены следующие значения:

  • 👍: Я поддерживаю эту функцию и буду ее использовать.

  • 👎: Я против этой функции или считаю, что она вызовет проблемы у меня или у Django.

  • 😕: У меня нет твердого мнения по поводу этой функции.

  • 🎉: Эта функция кажется простым и полезным дополнением.

Управляющий совет будет регулярно рассматривать идеи проекта, продвигая идеи, получившие поддержку сообщества, через следующие этапы:

  • Идея

  • Утверждено – Уточнение идеи – Создание команды

  • В ходе выполнения

  • Рабочее решение - Обзор - Обратная связь

  • Требуется сопровождающий (только Django)

  • Сделанный

Время от времени на форуме Django могут обсуждаться идеи функций или направление развития Django. Эти обсуждения могут включать в себя неформальное голосование, которое соответствует стилю голосования, изобретенному Apache и используемому в самом Python, где голоса приводятся как +1, +0, -0 или -1. В грубом переводе эти голоса означают:

  • +1: «Мне нравится эта идея.

  • +0: «Сойдет.»

  • -0: «Я не в восторге, но и мешать не буду».

  • -1: «Я категорически не согласен и был бы очень недоволен, если бы эта идея воплотилась в реальность.»

Хотя эти голосования неформальны, они будут восприняты очень серьезно. После голосования, если возникнет очевидный консенсус, мы перейдем к действиям.

Back to Top