Script no Windows para executar uma aplicação Django localmente

Gostaria de saber se alguém sabe como fazer um script/executável ou conhece alguma ferramenta de configuração para executar uma aplicação django localmente sem realizar o procedimento de ir a pasta do aplicação, iniciar a venv e o executar o python manage.py runserver 0.0.0.0:80?

Criei um sistema em django para gerenciar os serviços realizados pela empresa que trabalho. Mostrei ao dono da empresa e ele achou a ideia interessante, mas disse gostaria de testar o sistema durante algumas semanas para ver o resultado. Fiz o deploy em plataformas gratuitas, mas devido as limitações delas não deu certo para o uso diário. Pensei em fazer o deploy em uma VPS, mas ele disse que por envolver dados de clientes e informações financeiras não queria deixar online ainda. Faz uns dois dias que estou executando na minha máquina colocando em rede para que outras máquinas possam o acessar.

Obs.: Não trabalho em uma empresa de tecnologia, mas programo a um tempinho já.

1 curtida

AWS Lightsail

Você pode dar uma olhada no Lightsail da Amazon. É um vps praticamente, porem da amazon web services. Preço OK, o de 5 dólares/mês você ja consegue colocar teu mvp tranquilo.

Valores: VPS, preços de hospedagem na Web — Amazon Lightsail — Amazon Web Services

Você pode pegar uma instancia linux e criar um script de inicialização.

start.sh

#!/bin/bash

# acessar diretorio do projeto
cd /var/www

# ativar virtual env
source /venv/bin/activate

# fazer o migrate caso necessario 
#(tomar cuidado, vai alterar a base de dados)
python manage.py migrate

# rodar o django
python manage.py runserver 0.0.0.0:80

Mas obviamente, esse é o caminho manual que não é interessante.

O ideal seria…

Subir através de containers. A maioria das empresas de hosting possuem alguma forma de subir teu projeto em um container usando Docker. Além disso usar um proxy reverso como gunicorn/hypercorn/etc.

Heroku

A heroku por exemplo não é gratis, porém é barato e ja pode aguentar um mvp tranquilo. Vendo o tutorial e os arquivos existentes no exemplo deles, ele ja inclui o gunicorn e o Dockerfile com as instruções da maquina. Faça suas adaptações, mas recomendo rodar o projeto dele de exemplo pra você entender certinho. Veja cada arquivo/modificação: settings.py, arquivos na raiz do projeto, etc.

Tem outras, se a galera mandar ai vou adicionando, mas subir em container te ajuda a automatizar o processo e execução do teu projeto. É muito facil ocorrer falha/esquecimento com processos manuais.

Abraços!!

1 curtida