Como criar comandos customizados no Django \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 21 Horas 

 55 Min 

 51 Seg 

   Tempo restante da oferta: 21 55 51 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](https://www.treinaweb.com.br#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

     [ Início ](https://www.treinaweb.com.br) [ Artigos ](https://www.treinaweb.com.br/blog) Como criar comandos customizados no Django  [ Desenvolvimento Back-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-back-end) [ Django ](https://www.treinaweb.com.br/blog/categoria/django) 

# Como criar comandos customizados no Django

 Aprenda a criar comandos customizados no Django para automatizar tarefas, personalizar funcionalidades e integrar sistemas externos!

 [ Cleyson Lima ](https://www.treinaweb.com.br/blog/autor/cleyson-lima) 3 anos atrás

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/09/04112944/DJANGO-PROJETOS-PYCHARM.png)  

Criar comandos customizados no [Django](https://www.djangoproject.com/) pode ser uma habilidade poderosa para desenvolvedores que desejam automatizar tarefas repetitivas ou criar funcionalidades específicas para suas aplicações. Neste artigo, vamos explorar como você pode criar comandos customizados no Django para tornar seu desenvolvimento mais eficiente e flexível.

 [ ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/06/sessao-mentoria.jpg) ](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?forma=cartao)

## Por que criar comandos customizados no Django?

Antes de mergulharmos na criação dos comandos customizados, é importante entender por que isso pode ser útil. Aqui estão alguns motivos pelos quais você pode querer criar seus próprios comandos no Django:

1. **Automatização de tarefas**: comandos customizados podem automatizar tarefas como a importação de dados, limpeza do banco de dados, geração de relatórios, entre outras.
2. **Personalização**: Você pode criar comandos que atendam às necessidades específicas da sua aplicação, tornando-a mais eficiente e adaptada ao seu contexto.
3. **Integração com sistemas externos**: comandos customizados podem facilitar a integração da sua aplicação com sistemas externos, como APIs de terceiros.
4. **Facilidade de uso**: ao criar comandos customizados, você pode simplificar processos complexos para os usuários da sua aplicação, permitindo que eles executem ações específicas com apenas um comando.

[  ![Django - Fundamentos](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/django.svg)   Curso Django - Fundamentos Conhecer o curso ](https://www.treinaweb.com.br/curso/django-fundamentos)

## Criando comandos customizados no Django

Para criar um comando customizado no Django precisamos criar um arquivo com o nome do comando desejado dentro do diretório `management/commands` dentro de alguma app do projeto.

```java
meu_app/
├── management/
│   └── commands/
│       └── nome_do_comando.py

```

Vamos criar um comando que lista todos os usuários cadastros no sistema, esse comando irá se chamar `listusers`, logo, precisamos criar um arquivo chamado `listusers.py`.

Dentro do arquivo que implementa o nosso comando precisamos criar uma classe chamada `Command` que herda da classe `BaseCommand` do módulo `django.core.management.base`.

Essa classe precisa então implementar o método `handle` onde iremos escrever o código necessário para a correta execução do comando.

```python
from django.contrib.auth.models import User
from django.core.management.base import BaseCommand

class Command(BaseCommand):
    help = "Lista todos os usuários do sistema"

    def handle(self, *args, **options):
        users = User.objects.all()

        if len(users)
