Cómo informar de errores y solicitar funcionalidades¶
Importante
Por favor, informe los problemas de seguridad solo a security@djangoproject.com. Esta es una lista privada solo disponible para desarrolladores de Django altamente confiables y de conocida trayectoria, y sus archivos no son de dominio público. Para más información, por favor consulte nuestra política de seguridad.
Informe de errores¶
Before reporting a bug on the ticket tracker consider these points:
Check that someone hasn’t already filed the bug report by searching or running custom queries in the ticket tracker.
No utilices el sistema de tickets para hacer preguntas de soporte. Utiliza el Django Forum o el Django Discord server para ello.
No reabras temas que hayan sido marcados como «wontfix» sin encontrar consenso para hacerlo en el Foro Django.
No utilices el rastreador de tickets para discusiones largas, porque es probable que se pierdan. Si un ticket en particular es controvertido, por favor mueve la discusión al Foro de Django.
Los informes de errores bien escritos son muy útiles. Sin embargo, hay una cierta cantidad de sobrecarga involucrada en trabajar con cualquier sistema de seguimiento de errores, de modo que su ayuda para mantener nuestro rastreador de tickets tan útil como sea posible es apreciada. En particular:
Lea las FAQ para ver si su problema puede ser una pregunta frecuente.
Pregunta en el Django Forum o en el Django Discord server primero si no estás seguro de si lo que ves es un bug.
Escriba informes de errores completos, reproducibles y específicos. Debe incluir una descripción clara y concisa del problema, y una serie de instrucciones para replicarlo. Añada tanta información de depuración que pueda: fragmentos de código, casos de prueba, trazas de excepciones, capturas de pantalla, etc. Un buen y pequeño caso de prueba es la mejor manera de informar de un error, ya que nos ofrece una manera provechosa de confirmar el error rápidamente.
**No publiques en Django Forum sólo para anunciar que has enviado un informe de error. Todos los tickets se envían a otra lista, django-updates, que es rastreada por desarrolladores y miembros interesados de la comunidad; los vemos a medida que se presentan.
Para entender el ciclo de vida de su ticket una vez que lo ha creado, consulte: doc: Priorización de tickets.
Reportando errores en el interfaz de usario¶
Si tu reporte de error impacta algo visual, hay algunas pautas adicionales que seguir
Incluya capturas de pantalla en tus tickets, son el equivalente visual de un mínimo caso de uso. Destaque el problema, no las impresionantes personalizaciones que le ha aplicado a su navegador.
Si el problema es difícil de mostrar utilizando una imagen fija, considere la captura de un video de tipo screencast de corta duración. Si el software lo permite, capture sólo el área correspondiente de la pantalla.
Si ha proporcionado un parche que cambia la apariencia o el comportamiento de la UI de Django, debe adjuntar capturas de pantalla o grabaciones del antes y el después. Los tickets que no las incluyen son difíciles de valorar por aquellos que intervienen.
Las capturas de pantalla no lo eximen de utilizar otras buenas prácticas de presentación de informes. Asegúrese de incluir direcciones URL, fragmentos de código e instrucciones paso a paso sobre cómo reproducir el comportamiento que se observa en las capturas de pantalla.
Asegúrese de fijar el marcador de UI / UX en el reporte de tickets de manera que los interesados puedan encontrar su reporte.
If the issue relates to accessibility, please link to the relevant accessibility standard if applicable.
Solicitando funcionalidades¶
Siempre estamos tratando de mejorar Django, y sus solicitudes de funcionalidades son una parte de crucial importancia para ello. Estos son algunos consejos sobre cómo hacer una solicitud de forma más eficaz:
Evaluate whether the feature idea requires changes in Django’s core. If your idea can be developed as an independent application or module — for instance, you want to support another database engine — we’ll probably suggest that you develop it independently. Then, if your project gathers sufficient community support, we may consider it for inclusion in Django.
Propose the feature in the new feature ideas GitHub project (not in the ticket tracker) by creating a new item in the Idea column. This is where the community and the Steering Council evaluate new ideas for the Django ecosystem. This step is especially important for large or complex proposals. We prefer to discuss any significant changes to Django’s core before any development begins. In some cases, a feature may be better suited as a third-party package, where it can evolve independently of Django’s release cycle.
Describa de forma clara y concisa cuál es la funcionalidad que falta y cómo le gustaría que fuera implementada. Incluya ejemplo de código (si es no funcional está bien) si es posible.
Explique por qué le gustaría la funcionalidad. Explicar un mínimo caso de uso ayudará al resto comprender dónde se debe incluir, y si ya hay otras maneras de realizar lo mismo.
Consulte también: :ref: documentando nuevas funcionalidades.
Solicitar optimizaciones de rendimiento¶
Los informes de una regresión de rendimiento, o las optimizaciones de rendimiento sugeridas, deben proporcionar puntos de referencia y comandos para que el triager del ticket los reproduzca.
Consulta la django-asv benchmarks para más detalles de los benchmarks existentes de Django.
Cómo tomamos decisiones¶
Whenever possible, we aim for rough consensus. Emoji reactions are used on issues within the new feature ideas GitHub project to track community feedback. The following meanings are assigned to each reaction:
👍: I support this feature and would use it
👎: I oppose this feature or believe it would cause issues for me or Django
😕: I have no strong opinion on this feature
🎉: This feature seems like a straightforward and beneficial addition
The Steering Council will regularly review the ideas in the project, moving those with community support through the following stages:
Idea
Approved - Idea refinement - Team creation
En progreso
Working solution - Review - Feedback
Necesita mantenedor (solo Django)
Hecho
Occasionally, discussions on feature ideas or the direction of Django may take place on the Django Forum. These discussions may include informal votes, which follow the voting style invented by Apache and used on Python itself, where votes are given as +1, +0, -0, or -1. Roughly translated, these votes mean:
+1: «Me encanta la idea y estoy firmemente comprometido con ella.»
+0: «Me parece bien.»
-0: «No me gusta, pero no me interpondré en el camino.»
-1: «Estoy totalmente en desacuerdo y estaría muy descontento de ver que la idea se haga realidad.»
Aunque estas votaciones son informales, se tomarán muy en serio. Tras un periodo de votación adecuado, si surge un consenso evidente seguiremos las votaciones.