Pular para conteúdo

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

  1. Prepare o Projeto Django:

  2. requirements.txt: Certifique-se de que todas as dependências estão listadas.

  3. Procfile: Indique ao Render como iniciar a aplicação. Crie um arquivo Procfile na raiz com o seguinte conteúdo:
    web: gunicorn nome_do_seu_projeto.wsgi --log-file -
  • Banco de Dados: Se estiver usando PostgreSQL (recomendado), instale dj-database-url e configure o banco de dados no settings.py com:
    import dj_database_url
    DATABASES = {
        'default': dj_database_url.config(conn_max_age=600)
    }
  1. Configurar Static Files:

  2. Render exige que o projeto sirva arquivos estáticos corretamente. Adicione whitenoise às dependências (pip install whitenoise).

  3. No settings.py, adicione WhiteNoise no middleware:
    MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'whitenoise.middleware.WhiteNoiseMiddleware',
         # Outros middlewares
    ]

    STATIC_ROOT = BASE_DIR / 'staticfiles'
    STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
  1. Inicializar o Repositório Git:
   git init
   git add .
   git commit -m "Prepare project for deployment"
  1. Configurar Render.com:

  2. Crie uma conta em Render.

  3. Vá para o painel de controle e clique em New > Web Service.
  4. Conecte seu repositório Git ao Render e selecione o branch a ser usado para deploy.
  5. Configure as variáveis de ambiente, incluindo SECRET_KEY e DEBUG como False.

  6. Banco de Dados PostgreSQL:

  7. Render facilita a criação de um banco de dados PostgreSQL.

  8. Após a criação, configure o URL do banco de dados na seção de variáveis de ambiente no Render.

  9. Realizar o Deploy:

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