# Documentação Django 6.0.7

# Relatando bugs e solicitando funcionalidades

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 its archives are not public. For further details, please see our security policies.

## Relatando bugs

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.

- Não utilize o sistema de tickets para fazer perguntas de suporte. Para isso, use o Fórum do Django ou o servidor Discord do Django.

- Não reabra issues que foram marcados como “wontfix” sem encontrar consenso para fazê-lo no fórum do Django.

- Don’t reopen issues that have been marked “needsnewfeatureprocess” without shepherding an issue through the new feature ideas GitHub project.

- 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 fórum do Django.

Relatos de bugs bem escritos são incrivelmente ú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:

- Leia a FAQ para saber se o seu problema não é uma questão recorrente.

- Pergunte no fórum do Django ou no servidor Discord do Django primeiro se não tiver certeza se o que está vendo é um bug.

- Escreva 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.

- Não poste no fórum do Django apenas para anunciar que você acabou de reportar um bug. Todos os novos tickets são enviados para outra lista, django-updates, que é monitorada por desenvolvedores e membros da comunidade interessados; assim que os tickets são criados nós somos avisados.

To understand the lifecycle of your ticket once you have created it, refer to Fluxo de triagem.

### Reporting user interface bugs

If your bug impacts anything visual in nature, there are a few additional guidelines to follow:

- 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.

- 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.

- Se você esta oferecendo um patch que muda a aparência ou comportamento da UI do Django, você precisa anexar antes e depois screenshots/screencasts. Tickets sem esses requisitos são difíceis para os validadores acessarem rápido.

- 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.

- Certifique-se de incluir a tag UI/UX no ticket para que outras partes interessadas no problema possam encontrá-lo.

- If the issue relates to accessibility, please link to the relevant accessibility standard if applicable.

## Solicitando novas funcionalidades

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.

- 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.

- 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).

- Explain why you’d like the feature. Explaining a minimal use case will help others understand where it fits in, and if there are already other ways of achieving the same thing.

Veja também: Documentando novas funcionalidades.

## Requesting performance optimizations

Reports of a performance regression, or suggested performance optimizations, should provide benchmarks and commands for the ticket triager to reproduce.

See the django-asv benchmarks for more details of Django’s existing benchmarks.

## Como nós tomamos decisões

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

- In progress

- Working solution - Review - Feedback

- Needs maintainer (Django only)

- Done

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: “Eu adorei a ideia e estou fortemente comprometido com ela.”

- +0: “Por mim OK.”

- -0: “Não me animou, mas eu não vou ficar no caminho.”

- -1: “Eu definitivamente não gostei e ficaria realmente chateado de ver essa ideia virando realidade.”

Although these votes are informal, they’ll be taken very seriously. After a suitable voting period, if an obvious consensus arises we’ll follow the votes.

## How to test pre-release versions of Django

Testing pre-releases is a great way to contribute to Django. Early testers help catch bugs before the final release, ensuring a smoother upgrade experience for everyone.

### Pré-requisitos

Before testing a pre-release, it is important that your project is running smoothly on the latest stable release of Django. That way, any regressions can be attributed to the pre-release. See the How to upgrade Django to a newer version guide for instructions on getting up to date.

To ensure your project is ready, you should also:

- Read the release notes: Review the Notas de lançamento for the upcoming version to learn about upgrade paths for deprecated features or about minor backward-incompatible changes.

- Resolve deprecation warnings: Run your tests with deprecation warnings enabled to become aware of required follow-up actions:

      $ python -Wa manage.py test

### Testing your project

You can install the latest pre-release using `pip`:

    $ python -m pip install --pre Django

Once installed, run your project’s test suite. Rather than just checking if tests pass, try the following:

- Check dependency support: Determine whether major dependencies support the new version by checking Django version classifiers on PyPI. Since those projects also value early bug reports, don’t let a lack of support prevent you from testing.

- Monitor performance: You can run your tests with the `test --durations` flag to identify potential performance regressions.

- Automate tests in CI: Consider running your Continuous Integration (CI) pipeline with the pre-release version.

- Test manually: While automated tests are great, manually testing your application’s main workflows is an important part of verifying compatibility with a new release.

### Reporting issues

If you discover a bug, please report it via the Django issue tracker so it can be fixed before the final release. When creating the ticket, be sure to set the Django version field to the exact pre-release version you are testing.

If you suspect a regression, it’s helpful to report the specific commit that caused it. See Bisseccionando uma regressão for instructions.

You can also discuss any issues or share feedback in the Pre-releases category on the Django Forum.