Comandos Django

Comandos de terminal para gerenciar algumas funções do Django. 

manage.py funciona como um intermediário entre o desenvolvedor e o Django, carregando as configurações do projeto e passando o comando para o sistema de gerenciamento de comandos do Django.É uma ferramenta essencial (um script utilitário) que facilita o gerenciamento do seu projeto Django, reunindo comandos para configuração, administração, e execução em um único script. Ele torna o processo de desenvolvimento e manutenção mais eficiente e organizado.
O manage.py permite rodar comandos importantes do Django sem precisar configurar variáveis de ambiente manualmente. Com ele, você pode criar tabelas no banco de dados, iniciar o servidor de desenvolvimento, criar superusuários, migrar modelos, e muito mais.
Ele encapsula o comando django-admin e automaticamente configura o ambiente com as configurações do projeto. exemplo: runserver é um comando do Django, mas ele é executado através do script manage.py. Em resumo, manage.py faz a mesma coisa que o django-admin mas configura a variável de ambiente DJANGO_SETTINGS_MODULE apontando para o arquivo settings.py do seu projeto.

📦 management/commands/ : É uma pasta usada por padrão para criar comandos customizados do Django que você pode rodar via terminal como: python manage.py nomedoseucomando. Cada arquivo .py dentro de commands/ é um comando novo que você pode rodar como se fosse nativo do Django.  serve para:

  • Popular o banco com dados fake (como com Faker)

  • Executar tarefas agendadas

  • Limpar dados antigos

  • Integrar com APIs

  • Scripts que precisam rodar em produção/teste de forma isolada

projeto_tal/

├── backend/                # Projeto Django (Backend)
│   ├── .venv/              # Ambiente virtual
│   ├── projeto_tal ou config ou core/     # Aplicativo principal do Django
│   │   ├── __init__.py
│   │   ├── settings.py     # Arquivo de configuração principal
│   │   ├── urls.py         # URLs principais
│   │   ├── wsgi.py
│   │   ├── asgi.py
│   ├── apps/               # Outros apps Django (caso necessário)
│   ├── manage.py           # Arquivo de gerenciamento do Django

├── frontend/               # Projeto React (Frontend)
│   ├── public/             
│   ├── src/
│   ├── package.json        # Dependências do React

├── .gitignore              # Ignorar a pasta .venv, node_modules, etc
└── README.md               # Documentação do projeto
 

Iniciar um projeto em Django

Cria um projeto Django com vários arquivos da configuração geral do projeto.

sem o . cria duas pastas com o mesmo nome, uma para o projeto e uma para o aplicativo.

Tente usar nomes descritivos (mas também, nesse caso, config e core são muito usados na comunidade):

  • ✅ Preferido: config, core, ecommerce, blog, sistema_escolar, meu_site

  • 🚫 Evite: setup, project

bash
$ django-admin startproject nome_do_projeto_e_app_principal # duas pastas
$ django-admin startproject nome_do_app_principal . # cria um projeto apenas com a pasta do app main

Criar Novo Aplicativo Django

bash
$ python manage.py startapp nome_do_aplicativo

Executar projeto Django

No prompt ou ate mesmo no terminal do VS-Code navegue até a pasta do projeto e inicialize o servidor embutido do django.
runserver é um comando do Django, mas ele é executado através do script manage.py 

Geralmente abre na porta padrão 8000: http://127.0.0.1:8000/.

bash
$ python manage.py runserver

Definindo a porta de Execução

Para alterar a porta de execução do DJango basta colocar a porta na frente

bash
$ python manage.py runserver 9000