12 Deploy
O deploy mais simples de um projeto Django REST é, sem dúvida, no Render.com. Render é uma plataforma moderna e intuitiva que permite deploys rápidos a partir de repositórios Git, ideal para APIs REST. Ele cuida da configuração do servidor e do banco de dados, tornando o processo mais direto para desenvolvedores. Aqui está um guia rápido para fazer o deploy de um projeto Django REST no Render:
Passo a Passo para o Deploy no Render
-
Prepare o Projeto Django:
-
requirements.txt
: Certifique-se de que todas as dependências estão listadas. Procfile
: Indique ao Render como iniciar a aplicação. Crie um arquivoProcfile
na raiz com o seguinte conteúdo:
- Banco de Dados: Se estiver usando PostgreSQL (recomendado), instale
dj-database-url
e configure o banco de dados nosettings.py
com:
-
Configurar Static Files:
-
Render exige que o projeto sirva arquivos estáticos corretamente. Adicione
whitenoise
às dependências (pip install whitenoise
). - No
settings.py
, adicioneWhiteNoise
no middleware:
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
# Outros middlewares
]
STATIC_ROOT = BASE_DIR / 'staticfiles'
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
- Inicializar o Repositório Git:
-
Configurar Render.com:
-
Crie uma conta em Render.
- Vá para o painel de controle e clique em New > Web Service.
- Conecte seu repositório Git ao Render e selecione o branch a ser usado para deploy.
-
Configure as variáveis de ambiente, incluindo
SECRET_KEY
eDEBUG
comoFalse
. -
Banco de Dados PostgreSQL:
-
Render facilita a criação de um banco de dados PostgreSQL.
-
Após a criação, configure o URL do banco de dados na seção de variáveis de ambiente no Render.
-
Realizar o Deploy:
-
Render cuidará automaticamente do deploy e das migrações iniciais. Em seguida, você pode acessar a URL pública gerada pelo Render.
Vantagens do Render
- Simplicidade: A configuração é bem direta e o deploy é feito automaticamente.
- Integração com Git: Render realiza deploys automáticos a cada push.
- SSL e domínio: Render fornece SSL gratuito e um domínio personalizado (se necessário).
Outras Alternativas Simples
Se desejar explorar alternativas, PythonAnywhere e Heroku são também opções simples para projetos Django REST, com setups similares.
Cada uma dessas plataformas oferece um nível básico de serviço gratuito, o que é excelente para testar e experimentar o deploy de APIs REST.