[Dúvida] Como realizar um deploy de aplicação django
E ai, como vão? Então, há alguns dias eu peguei um freela pra fazer em django, o sistema consiste em um gerenciador de funcionários na empresa e alguns crud. O projeto em si já está 90% pronto, mas o meu maior problema é como realizo o deployment de uma aplicação em django. Já tentei colocar no railway, segui todos os passo a passo, mas minha aplicação apresenta alguns erros que eu ainda não consegui identificar, os logs em si não apresentam nenhum erro, mas quando eu acesso a url, fica aparecendo o not found, o único momento que funcionou foi quando eu coloquei DUBUG = True, mas ai no caso o estilo não está aplicado na página, além de que cada página demora muito pra carregar
Estou utilizando django junto com a biblioteca django-tailwind.
Me recomendam algum outro lugar pra hospedar, alguma dica.
Pra quem poder ajudar. Desde já agradeço!
Opa, beleza? Não sei como funciona dentro do Railway, mas o ideal seria hospedar a aplicação em uma máquina VPS, sendo na Hostgator, na Hostinger ou em outra hospedagem que tenha essas opções. Com uma máquina VPS, você tem um servidor Linux completo para a aplicação, onde será necessário configurar o NGINX e o Gunicorn para colocar a aplicação no ar.
Pode utilizar como base: https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-22-04
Bom dia , igor .
Nunca usei o RailWay, mas você já tentou usar o vercel como host? Segue aqui um tutorial:
Caso o problema persistir verifique seu código , principalmente no que diz respeito as configurações do projeto .
Espero ter ajudado : )
Pelo que você descreveu aqui:
- Funciona com DEBUG=True
- Muito lento
- Os estilos não foram aplicados
É bastante provável que esse PaaS não esteja servindo os arquivos estáticos, o que é comum. O jeito mais simples de resolver seria usando o whitenoise, outra alternativa (um pouco mais complexa) seria servir os arquivos em um bucket na S3 usando o django storages.
https://whitenoise.readthedocs.io/en/latest/django.html https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html
Aliás, normalmente esses PaaS (inclusive o Heroku) recomendam que os arquivos estáticos e de mídia não fiquem no container, então partem do princípio que você já tenha configurado outro serviço.
Sobre hospedar:
+ de 15 alternativas ao Heroku - mas nem todas grátis!
Lista de servidores VPS baratos!
Sobre setup/deploy Django em um VPS:
Procura sobre Nginx, Supervisor, PostgreSQL, Gunicorn.
Eu já realizei deploy de uma plataforma em Django utilizando containers em um servidor de uma empresa na qual trabalho.
utilizei como base esse tutorial
Tenta adicionar STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles_build', 'static') no settings do projeto e usar o comando python manage.py collectstatic. Esse comando vai criar uma pasta na raiz chamada staticfiles_build e nela vão ser adicionados todos arquivos das pastas static, em produção o Django fornece esses arquivos de forma diferente, talvez isso resolva o problema o problema do estilo no DEBUG = False. O banco de dados é o sqlite3 mesmo?
Meu projeto pessoal tá hospedado lá na Railway. Posso tentar ajudar! Tá funcionando normal no seu computador, né? O repo do Github tá público? Se puder, compartilha aí pra gente dar uma olhada