Bom dia, como fazer o deploy do projeto em Django?
Não foi ensinado na trilha toda.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Bom dia, como fazer o deploy do projeto em Django?
Não foi ensinado na trilha toda.
Olá, Ckelyson. Como vai?
Essa é uma excelente dúvida! De fato, os cursos focados no desenvolvimento da aplicação (como a persistência de arquivos no Amazon S3 e criação do CRUD) costumam focar no ambiente local para consolidar a lógica do Django. No entanto, levar a aplicação para a produção (fazer o deploy) é o passo fundamental para disponibilizar o seu projeto para o mundo.
Para fazer o deploy de uma aplicação Django que utiliza o S3, o processo envolve preparar o projeto para produção e escolher um servidor de hospedagem.
Aqui está um passo a passo prático e as melhores abordagens de mercado para você realizar o seu deploy:
Antes de enviar o código para qualquer servidor, você precisa alterar algumas configurações de segurança no seu arquivo settings.py:
DEBUG = False
ALLOWED_HOSTS = ['seu-app.com', 'seu-subdominio.railway.app']
SECRET_KEY, credenciais do banco de dados e chaves do Amazon S3 (AWS Access Key) não estejam expostas diretamente no código. Use a biblioteca python-dotenv ou decouple para ler essas informações das variáveis de ambiente do servidor.pip freeze > requirements.txt
Como seu projeto Django já armazena os arquivos de mídia (imagens/vídeos) no Amazon S3, o servidor de hospedagem só precisará processar o código Python e os arquivos estáticos (CSS/JS). Duas das plataformas mais populares, modernas e fáceis de usar para desenvolvedores Python são:
A Railway é uma das plataformas mais simples e modernas para deploy atual. Ela possui integração direta com o GitHub.
Procfile na raiz do seu projeto Django para dizer à plataforma como iniciar o servidor. O conteúdo do arquivo deve ser:web: gunicorn nome_do_seu_projeto.wsgi:application
.env local).git push.A Render funciona de forma muito parecida com a Railway e possui um plano gratuito excelente para testes.
gunicorn: gunicorn nome_do_seu_projeto.wsgi:application.No ambiente local, o Django utiliza o sqlite3 por padrão (o arquivo db.sqlite3). Em produção, o SQLite não deve ser utilizado, pois ele é resetado ou apagado toda vez que o servidor reinicia ou recebe uma atualização.
dj-database-url e configurá-la no seu settings.py para que o Django se conecte automaticamente a esse banco seguro em produção.A Alura possui cursos e artigos focados exclusivamente em deploy em plataformas como a Render, a AWS e o ecossistema Docker, que valem muito a pena conferir para ver o processo na tela passo a passo!
Espero que possa ter lhe ajudado!