{"title":"Relatando bugs e solicitando funcionalidades","version":"6.1","locale":"pt-br","docname":"internals/contributing/bugs-and-features","url":"/pt-br/6.1/internals/contributing/bugs-and-features/","canonical":"https://djangodocs.dev/pt-br/6.1/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>Relatando bugs e solicitando funcionalidades<a class=\"heading-anchor\" href=\"#reporting-bugs-and-requesting-features\"><span class=\"visually-hidden\">Link para este cabeçalho</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=\"/pt-br/6.1/internals/security/\"><span class=\"doc\">our security\npolicies</span></a>.</p>\n</aside>\n<section id=\"reporting-bugs\">\n<span id=\"id1\"></span><h2>Relatando bugs<a class=\"heading-anchor\" href=\"#reporting-bugs\"><span class=\"visually-hidden\">Link para este cabeçalho</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>Não utilize o sistema de tickets para fazer perguntas de suporte. Para isso, use o <a class=\"reference external\" href=\"https://chat.djangoproject.com\">Fórum do Django</a> ou o <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">servidor Discord do Django</a>.</p></li>\n<li><p>Não reabra issues que foram marcados como “wontfix” sem encontrar consenso para fazê-lo no <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">fórum do 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>Não utilize o rastreador de tickets para discussões importantes, elas provavelmente serão perdidas. Se um ticket em particular é controverso, por favor mova a discussão para o <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">fórum do Django</a>.</p></li>\n</ul>\n<p>Relatos de bugs bem escritos são <em>incrivelmente</em> úteis. Porém, existe uma certa quantidade de sobrecarga envolvida em trabalhar com qualquer sistema de rastreamento de bugs de modo que a sua ajuda em manter nosso rastreador de tickets o mais eficiente possível é muito apreciada. Em particular:</p>\n<ul class=\"simple\">\n<li><p><strong>Leia</strong> a FAQ para saber se o seu problema não é uma questão recorrente.</p></li>\n<li><p><strong>Pergunte</strong> no <a class=\"reference external\" href=\"https://chat.djangoproject.com\">fórum do Django</a> ou no <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">servidor Discord do Django</a> <em>primeiro</em> se não tiver certeza se o que está vendo é um bug.</p></li>\n<li><p><strong>Escreva</strong> relatos de bugs que sejam reproduzíveis, completos, específicos. Você deve incluir uma descrição limpa, concisa do problema, e um conjunto de instruções para reproduzi-lo. Adicione o máximo de informações de debug que você puder: trechos de código, casos de teste, logs das exceções, screenshots, etc. A melhor forma de relatar um bug é escrevendo um bom e pequeno caso de teste, já que ele nos fornece uma maneira útil de confirmar o bug rapidamente.</p></li>\n<li><p><strong>Não</strong> poste no <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">fórum do Django</a> apenas para anunciar que você acabou de reportar um bug. Todos os novos tickets são enviados para outra lista, <a class=\"reference internal\" href=\"/pt-br/6.1/internals/mailing-lists/#django-updates-mailing-list\"><span class=\"std std-ref\">django-updates</span></a>, que é monitorada por desenvolvedores e membros da comunidade interessados; assim que os tickets são criados nós somos avisados.</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=\"/pt-br/6.1/internals/contributing/triaging-tickets/#triage-workflow\"><span class=\"std std-ref\">Fluxo de triagem</span></a>.</p>\n<section id=\"reporting-user-interface-bugs\">\n<h3>Reporting user interface bugs<a class=\"heading-anchor\" href=\"#reporting-user-interface-bugs\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>If your bug impacts anything visual in nature, there are a few additional\nguidelines to follow:</p>\n<ul class=\"simple\">\n<li><p>Inclua screenshots no seu ticket que são o equivalente visual de um teste de caso pequeno. Mostre o problema, não as incríveis customizações que você fez no seu navegador.</p></li>\n<li><p>Se o problema for muito difícil de mostrar usando uma imagem, considere capturar um breve screencast. Se o seu software permitir isso, capture somente a área relevante da tela.</p></li>\n<li><p>Se você esta oferecendo um patch que muda a aparência ou comportamento da UI do Django, você <strong>precisa</strong> anexar antes <em>e</em> depois screenshots/screencasts. Tickets sem esses requisitos são difíceis para os validadores acessarem rápido.</p></li>\n<li><p>Screencasts não absolvem você de outras boas práticas ao reportar um bug. Certifique-se de incluir URLs, trechos de código, e instruções passo-a-passo sobre como reproduzir o comportamento exibido nas screenshots.</p></li>\n<li><p>Certifique-se de incluir a tag UI/UX no ticket para que outras partes interessadas no problema possam encontrá-lo.</p></li>\n<li><p>If the issue relates to accessibility, please link to the relevant\n<a class=\"reference internal\" href=\"/pt-br/6.1/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 novas funcionalidades<a class=\"heading-anchor\" href=\"#requesting-features\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Nós estamos sempre tentando deixar o Django melhor, e as suas solicitações por novas funcionalidades são uma peça chave nesse processo. Aqui vão algumas dicas sobre como fazer uma solicitação de forma eficiente.</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=\"/pt-br/6.1/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>Descreva claramente e de forma concisa qual é a funcionalidade que você não encontrou e como você gostaria que ela fosse implementada. Se possível inclua códigos como exemplos (código que não funciona é válido).</p></li>\n<li><p>Explain <em>why</em> you’d like the feature. Explaining a minimal use case will help\nothers understand where it fits in, and if there are already other ways of\nachieving the same thing.</p></li>\n</ul>\n<p>Veja também: <a class=\"reference internal\" href=\"/pt-br/6.1/internals/contributing/writing-documentation/#documenting-new-features\"><span class=\"std std-ref\">Documentando novas funcionalidades</span></a>.</p>\n</section>\n<section id=\"requesting-performance-optimizations\">\n<h2>Requesting performance optimizations<a class=\"heading-anchor\" href=\"#requesting-performance-optimizations\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Reports of a performance regression, or suggested performance optimizations,\nshould provide benchmarks and commands for the ticket triager to reproduce.</p>\n<p>See the <a class=\"reference internal\" href=\"/pt-br/6.1/internals/contributing/writing-code/submitting-patches/#django-asv-benchmarks\"><span class=\"std std-ref\">django-asv benchmarks</span></a> for more details of Django’s existing\nbenchmarks.</p>\n</section>\n<section id=\"how-we-make-decisions\">\n<span id=\"id3\"></span><h2>Como nós tomamos decisões<a class=\"heading-anchor\" href=\"#how-we-make-decisions\"><span class=\"visually-hidden\">Link para este cabeçalho</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=\"/pt-br/6.1/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>In progress</p></li>\n<li><p>Working solution - Review - Feedback</p></li>\n<li><p>Needs maintainer (Django only)</p></li>\n<li><p>Done</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: “Eu adorei a ideia e estou fortemente comprometido com ela.”</p></li>\n<li><p>+0: “Por mim OK.”</p></li>\n<li><p>-0: “Não me animou, mas eu não vou ficar no caminho.”</p></li>\n<li><p>-1: “Eu definitivamente não gostei e ficaria realmente chateado de ver essa ideia virando  realidade.”</p></li>\n</ul>\n<p>Although these votes are informal, they’ll be taken very seriously. After a\nsuitable voting period, if an obvious consensus arises we’ll follow the votes.</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 para este cabeçalho</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>Pré-requisitos<a class=\"heading-anchor\" href=\"#prerequisites\"><span class=\"visually-hidden\">Link para este cabeçalho</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=\"/pt-br/6.1/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=\"/pt-br/6.1/releases/\"><span class=\"doc\">Notas de lançamento</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 para este cabeçalho</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=\"/pt-br/6.1/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 para este cabeçalho</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=\"/pt-br/6.1/internals/contributing/triaging-tickets/#bisecting-a-regression\"><span class=\"std std-ref\">Bisseccionando uma regressão</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":"Relatando bugs","anchor":"reporting-bugs","children":[{"title":"Reporting user interface bugs","anchor":"reporting-user-interface-bugs","children":[]}]},{"title":"Solicitando novas funcionalidades","anchor":"requesting-features","children":[]},{"title":"Requesting performance optimizations","anchor":"requesting-performance-optimizations","children":[]},{"title":"Como nós tomamos decisões","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":"Pré-requisitos","anchor":"prerequisites","children":[]},{"title":"Testing your project","anchor":"testing-your-project","children":[]},{"title":"Reporting issues","anchor":"reporting-issues","children":[]}]}],"breadcrumbs":[{"docname":"internals/index","title":"Funcionamento interno do Projeto Django","url":"/pt-br/6.1/internals/"},{"docname":"internals/contributing/index","title":"Contribuindo com o Django","url":"/pt-br/6.1/internals/contributing/"}],"prev":{"docname":"internals/contributing/localizing","title":"Localizando Django","url":"/pt-br/6.1/internals/contributing/localizing/"},"next":{"docname":"internals/contributing/triaging-tickets","title":"Triagem de tickets","url":"/pt-br/6.1/internals/contributing/triaging-tickets/"},"formats":{"html":"/pt-br/6.1/internals/contributing/bugs-and-features/","markdown":"/pt-br/6.1/internals/contributing/bugs-and-features.md","json":"/pt-br/6.1/internals/contributing/bugs-and-features.json"},"source":"https://github.com/django/django/blob/stable/6.1.x/docs/internals/contributing/bugs-and-features.txt","official":"https://docs.djangoproject.com/pt-br/6.1/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"]}