Executando verificação de segurança...
5

[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!

Carregando publicação patrocinada...
5

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

1

Obg, vou da uma olhada. Sendo sincero eu não entendo nada disso. Esses locais de hospedagem tem custo fixo? Porque é uma aplicação simples e no caso eu só queria fornecrr pro cliente e só, não queria virar dono do projeto. Não sei se vc trabalha com freela, mas como funciona o processo de entrega?

2

É um custo mensal ou anual geralmente. Quando faço trabalhos de freela, indico as hospedagens pro cliente escolher e pagar, depois só pego as credenciais dele e faço as configurações necessárias no servidor.

1

Vc costuma usar qual? Hostinger? O cliente que faz o pagamento da hospedagem direto ou faz o pagamento pra vc e vc paga a hospedagem? Sabe me informar o custo? O custo é fixo?

2
0
2

Bom dia , igor .

Nunca usei o RailWay, mas você já tentou usar o vercel como host? Segue aqui um tutorial:

-Tutorial

Caso o problema persistir verifique seu código , principalmente no que diz respeito as configurações do projeto .

Espero ter ajudado : )

0
1

Não, costumo usar ele bastante para projetos Django . Outro que vale a pena também é o Render, o problema dele é que após um certo tempo de inatividade , o site demora de carregar ( coisa de 30 seg a 1 minuto ) .

2

Pelo que você descreveu aqui:

  1. Funciona com DEBUG=True
  2. Muito lento
  3. 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.

1
1
1
1
1

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?

1

Fiz esse projeto, mas deixei o nome da pasta como "staticfiles". Sabe me informar se tanto a pasta static ou staticfiles eu tenho que colocar no gitignore ou posso subir junto pro deploy

1

No deploy vc só precisa da staticfiles, então ela não pode colocar no gitignore, já a pasta static pode colocar pra não consumir espaço desnecessariamente já que os mesmos arquivos vão estar na staticfiles. Caso vc estiver usando um serviço de banco de dados vc consegue hospedar sua aplicação na vercel, mas como lá é serveless vc não consegue usar o sqlite3 padrão do django.

1
1

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