{"title":"Cómo informar de errores y solicitar funcionalidades","version":"6.0","locale":"es","docname":"internals/contributing/bugs-and-features","url":"/es/6.0/internals/contributing/bugs-and-features/","canonical":"https://djangodocs.dev/es/6.0/internals/contributing/bugs-and-features/","summary":"Importante Please report security issues only to security@djangoproject.com . This is a private list only open to long-time, highly trusted Django developers, and…","html":"<h1>Cómo informar de errores y solicitar funcionalidades<a class=\"heading-anchor\" href=\"#reporting-bugs-and-requesting-features\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<aside class=\"admonition admonition-important\">\n<p class=\"admonition-title\">Importante</p>\n<p>Please report security issues <strong>only</strong> to\n<code class=\"docutils literal notranslate\"><span class=\"pre\">security&#64;djangoproject.com</span></code>. This is a private list only open to\nlong-time, highly trusted Django developers, and its archives are\nnot public. For further details, please see <a class=\"reference internal\" href=\"/es/6.0/internals/security/\"><span class=\"doc\">our security\npolicies</span></a>.</p>\n</aside>\n<section id=\"reporting-bugs\">\n<span id=\"id1\"></span><h2>Informe de errores<a class=\"heading-anchor\" href=\"#reporting-bugs\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Before reporting a bug on the <a class=\"reference external\" href=\"https://code.djangoproject.com/\">ticket tracker</a> consider these points:</p>\n<ul class=\"simple\">\n<li><p>Check that someone hasn’t already filed the bug report by <a class=\"reference external\" href=\"https://code.djangoproject.com/search\">searching</a> or\nrunning <a class=\"reference external\" href=\"https://code.djangoproject.com/query\">custom queries</a> in the ticket tracker.</p></li>\n<li><p>No utilices el sistema de tickets para hacer preguntas de soporte. Utiliza el <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">Django Forum</a> o el <a class=\"reference external\" href=\"https://chat.djangoproject.com\">Django Discord server</a> para ello.</p></li>\n<li><p>No reabras temas que hayan sido marcados como «wontfix» sin encontrar consenso para hacerlo en el <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">Foro Django</a>.</p></li>\n<li><p>Don’t reopen issues that have been marked «needsnewfeatureprocess» without\nshepherding an issue through the <a class=\"reference external\" href=\"https://github.com/orgs/django/projects/24/\">new feature ideas</a> GitHub project.</p></li>\n<li><p>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 <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">Foro de Django</a>.</p></li>\n</ul>\n<p>Los informes de errores bien escritos son <em>muy</em> ú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:</p>\n<ul class=\"simple\">\n<li><p><strong>Lea</strong> las <a class=\"reference internal\" href=\"/es/6.0/faq/\"><span class=\"doc\">FAQ</span></a> para ver si su problema puede ser una pregunta frecuente.</p></li>\n<li><p><strong>Pregunta</strong> en el <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">Django Forum</a> o en el <a class=\"reference external\" href=\"https://chat.djangoproject.com\">Django Discord server</a> <em>primero</em> si no estás seguro de si lo que ves es un bug.</p></li>\n<li><p><strong>Escriba</strong> 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.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">**</span></a>No publiques en <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">Django Forum</a> sólo para anunciar que has enviado un informe de error. Todos los tickets se envían a otra lista, <a class=\"reference internal\" href=\"/es/6.0/internals/mailing-lists/#django-updates-mailing-list\"><span class=\"std std-ref\">django-updates</span></a>, que es rastreada por desarrolladores y miembros interesados de la comunidad; los vemos a medida que se presentan.</p></li>\n</ul>\n<p>To understand the lifecycle of your ticket once you have created it, refer to\n<a class=\"reference internal\" href=\"/es/6.0/internals/contributing/triaging-tickets/#triage-workflow\"><span class=\"std std-ref\">Flujo de trabajo de clasificación</span></a>.</p>\n<section id=\"reporting-user-interface-bugs\">\n<h3>Reportando errores en el interfaz de usario<a class=\"heading-anchor\" href=\"#reporting-user-interface-bugs\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Si tu reporte de error impacta algo visual, hay algunas pautas adicionales que seguir</p>\n<ul class=\"simple\">\n<li><p>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.</p></li>\n<li><p>Si el problema es difícil de mostrar utilizando una imagen fija, considere la captura de un video de tipo screencast <em>de corta duración</em>. Si el software lo permite, capture sólo el área correspondiente de la pantalla.</p></li>\n<li><p>Si ha proporcionado un parche que cambia la apariencia o el comportamiento de la UI de Django, <strong>debe</strong> 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.</p></li>\n<li><p>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.</p></li>\n<li><p>Asegúrese de fijar el marcador de UI / UX en el reporte de tickets de manera que  los interesados ​​puedan encontrar su reporte.</p></li>\n<li><p>If the issue relates to accessibility, please link to the relevant\n<a class=\"reference internal\" href=\"/es/6.0/internals/contributing/accessibility/#accessibility-standards\"><span class=\"std std-ref\">accessibility standard</span></a> if applicable.</p></li>\n</ul>\n</section>\n</section>\n<section id=\"requesting-features\">\n<span id=\"id2\"></span><h2>Solicitando funcionalidades<a class=\"heading-anchor\" href=\"#requesting-features\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>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:</p>\n<ul class=\"simple\">\n<li><p>Evaluate whether the feature idea requires changes in Django’s core. If your\nidea can be developed as an independent application or module — for\ninstance, you want to support another database engine — we’ll probably\nsuggest that you develop it independently. Then, if your project gathers\nsufficient community support, we may consider it for inclusion in Django.</p></li>\n<li><p>Propose the feature in the <a class=\"reference external\" href=\"https://github.com/orgs/django/projects/24/\">new feature ideas</a> GitHub project (not in the\nticket tracker) by creating a new item in the <strong>Idea</strong> column. This is where\nthe community and the <a class=\"reference internal\" href=\"/es/6.0/internals/organization/#steering-council\"><span class=\"std std-ref\">Steering Council</span></a> evaluate new\nideas for the Django ecosystem. This step is especially important for large\nor complex proposals. We prefer to discuss any significant changes to\nDjango’s core before any development begins. In some cases, a feature may be\nbetter suited as a third-party package, where it can evolve independently of\nDjango’s release cycle.</p></li>\n<li><p>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.</p></li>\n<li><p>Explique <em>por qué</em> 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.</p></li>\n</ul>\n<p>Consulte también: :ref: documentando nuevas funcionalidades.</p>\n</section>\n<section id=\"requesting-performance-optimizations\">\n<h2>Solicitar optimizaciones de rendimiento<a class=\"heading-anchor\" href=\"#requesting-performance-optimizations\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>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.</p>\n<p>Consulta la <a class=\"reference internal\" href=\"/es/6.0/internals/contributing/writing-code/submitting-patches/#django-asv-benchmarks\"><span class=\"std std-ref\">django-asv benchmarks</span></a> para más detalles de los benchmarks existentes de Django.</p>\n</section>\n<section id=\"how-we-make-decisions\">\n<span id=\"id3\"></span><h2>Cómo tomamos decisiones<a class=\"heading-anchor\" href=\"#how-we-make-decisions\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Whenever possible, we aim for rough consensus. Emoji reactions are used on\nissues within the <a class=\"reference external\" href=\"https://github.com/orgs/django/projects/24/\">new feature ideas</a> GitHub project to track community\nfeedback. The following meanings are assigned to each reaction:</p>\n<ul class=\"simple\">\n<li><p>👍: I support this feature and would use it</p></li>\n<li><p>👎: I oppose this feature or believe it would cause issues for me or Django</p></li>\n<li><p>😕: I have no strong opinion on this feature</p></li>\n<li><p>🎉: This feature seems like a straightforward and beneficial addition</p></li>\n</ul>\n<p>The <a class=\"reference internal\" href=\"/es/6.0/internals/organization/#steering-council\"><span class=\"std std-ref\">Steering Council</span></a> will regularly review the ideas\nin the project, moving those with community support through the following\nstages:</p>\n<ul class=\"simple\">\n<li><p>Idea</p></li>\n<li><p>Approved - Idea refinement - Team creation</p></li>\n<li><p>En progreso</p></li>\n<li><p>Working solution - Review - Feedback</p></li>\n<li><p>Necesita mantenedor (solo Django)</p></li>\n<li><p>Hecho</p></li>\n</ul>\n<p>Occasionally, discussions on feature ideas or the direction of Django may take\nplace on the Django Forum. These discussions may include informal votes, which\nfollow the voting style invented by Apache and used on Python itself, where\nvotes are given as +1, +0, -0, or -1.\nRoughly translated, these votes mean:</p>\n<ul class=\"simple\">\n<li><p>+1: «Me encanta la idea y estoy firmemente comprometido con ella.»</p></li>\n<li><p>+0: «Me parece bien.»</p></li>\n<li><p>-0: «No me gusta, pero no me interpondré en el camino.»</p></li>\n<li><p>-1: «Estoy totalmente en desacuerdo y estaría muy descontento de ver que la idea se haga realidad.»</p></li>\n</ul>\n<p>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.</p>\n</section>\n<section id=\"how-to-test-pre-release-versions-of-django\">\n<span id=\"testing-pre-releases\"></span><h2>How to test pre-release versions of Django<a class=\"heading-anchor\" href=\"#how-to-test-pre-release-versions-of-django\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Testing pre-releases is a great way to contribute to Django. Early testers\nhelp catch bugs before the final release, ensuring a smoother upgrade\nexperience for everyone.</p>\n<section id=\"prerequisites\">\n<h3>Prerequisites<a class=\"heading-anchor\" href=\"#prerequisites\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Before testing a pre-release, it is important that your project is running\nsmoothly on the latest stable release of Django. That way, any regressions can\nbe attributed to the pre-release. See the <a class=\"reference internal\" href=\"/es/6.0/howto/upgrade-version/\"><span class=\"doc\">How to upgrade Django to a newer version</span></a> guide\nfor instructions on getting up to date.</p>\n<p>To ensure your project is ready, you should also:</p>\n<ul>\n<li><p><strong>Read the release notes:</strong> Review the <a class=\"reference internal\" href=\"/es/6.0/releases/\"><span class=\"doc\">Release notes</span></a> for the\nupcoming version to learn about upgrade paths for deprecated features or\nabout minor backward-incompatible changes.</p></li>\n<li><p><strong>Resolve deprecation warnings:</strong> Run your tests with deprecation warnings\nenabled to become aware of required follow-up actions:</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>-Wa<span class=\"w\"> </span>manage.py<span class=\"w\"> </span><span class=\"nb\">test</span>\n</code></pre></div>\n</li>\n</ul>\n</section>\n<section id=\"testing-your-project\">\n<h3>Testing your project<a class=\"heading-anchor\" href=\"#testing-your-project\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>You can install the latest pre-release using <code class=\"docutils literal notranslate\"><span class=\"pre\">pip</span></code>:</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>-m<span class=\"w\"> </span>pip<span class=\"w\"> </span>install<span class=\"w\"> </span>--pre<span class=\"w\"> </span>Django\n</code></pre></div>\n<p>Once installed, run your project’s test suite. Rather than just checking\nif tests pass, try the following:</p>\n<ul class=\"simple\">\n<li><p><strong>Check dependency support:</strong> Determine whether major dependencies support\nthe new version by checking Django version classifiers on PyPI.\nSince those projects also value early bug reports, don’t let a lack\nof support prevent you from testing.</p></li>\n<li><p><strong>Monitor performance:</strong> You can run your tests with the <a class=\"reference internal\" href=\"/es/6.0/ref/django-admin/#cmdoption-test-durations\"><code class=\"xref std std-option docutils literal notranslate\"><span class=\"pre\">test</span>\n<span class=\"pre\">--durations</span></code></a> flag to identify potential performance regressions.</p></li>\n<li><p><strong>Automate tests in CI:</strong> Consider running your Continuous Integration (CI)\npipeline with the pre-release version.</p></li>\n<li><p><strong>Test manually:</strong> While automated tests are great, manually testing your\napplication’s main workflows is an important part of verifying compatibility\nwith a new release.</p></li>\n</ul>\n</section>\n<section id=\"reporting-issues\">\n<h3>Reporting issues<a class=\"heading-anchor\" href=\"#reporting-issues\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>If you discover a bug, please report it via the <a class=\"reference external\" href=\"https://code.djangoproject.com/\">Django issue tracker</a> so it can be fixed before the final\nrelease. When creating the ticket, be sure to set the Django version field to\nthe exact pre-release version you are testing.</p>\n<p>If you suspect a regression, it’s helpful to report the specific commit that\ncaused it. See <a class=\"reference internal\" href=\"/es/6.0/internals/contributing/triaging-tickets/#bisecting-a-regression\"><span class=\"std std-ref\">Bisecting a regression</span></a> for instructions.</p>\n<p>You can also discuss any issues or share feedback in the <a class=\"reference external\" href=\"https://forum.djangoproject.com/c/announcements/prereleases/32\">Pre-releases</a> category\non the <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">Django Forum</a>.</p>\n</section>\n</section>","rootId":"reporting-bugs-and-requesting-features","toc":[{"title":"Informe de errores","anchor":"reporting-bugs","children":[{"title":"Reportando errores en el interfaz de usario","anchor":"reporting-user-interface-bugs","children":[]}]},{"title":"Solicitando funcionalidades","anchor":"requesting-features","children":[]},{"title":"Solicitar optimizaciones de rendimiento","anchor":"requesting-performance-optimizations","children":[]},{"title":"Cómo tomamos decisiones","anchor":"how-we-make-decisions","children":[]},{"title":"How to test pre-release versions of Django","anchor":"how-to-test-pre-release-versions-of-django","children":[{"title":"Prerequisites","anchor":"prerequisites","children":[]},{"title":"Testing your project","anchor":"testing-your-project","children":[]},{"title":"Reporting issues","anchor":"reporting-issues","children":[]}]}],"breadcrumbs":[{"docname":"internals/index","title":"Django internals","url":"/es/6.0/internals/"},{"docname":"internals/contributing/index","title":"Contribuyendo con Django","url":"/es/6.0/internals/contributing/"}],"prev":{"docname":"internals/contributing/localizing","title":"Localización de Django","url":"/es/6.0/internals/contributing/localizing/"},"next":{"docname":"internals/contributing/triaging-tickets","title":"Clasificando tickets","url":"/es/6.0/internals/contributing/triaging-tickets/"},"formats":{"html":"/es/6.0/internals/contributing/bugs-and-features/","markdown":"/es/6.0/internals/contributing/bugs-and-features.md","json":"/es/6.0/internals/contributing/bugs-and-features.json"},"source":"https://github.com/django/django/blob/stable/6.0.x/docs/internals/contributing/bugs-and-features.txt","official":"https://docs.djangoproject.com/es/6.0/internals/contributing/bugs-and-features/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}