Pôr uma aplicação Django a rodar

Node.js, Python e Docker··· 751 visualizações· 4 min de leitura

O Django não está no instalador de aplicações do cPanel, e não é falta: aquele instalador é para aplicações em PHP. O Django roda em Python, e para Python o cPanel tem ferramenta própria, no grupo Software: o Setup Python App.

É essa página que cria um ambiente Python isolado para a sua aplicação, escolhe a versão do interpretador e liga a aplicação a um endereço do seu domínio. As versões disponíveis no dia em que este artigo foi escrito vão da 2.7 até a 3.13, com todas as intermédias da série 3.

Escolha uma versão recente do Python. As antigas continuam na lista para manter aplicações que nunca foram migradas, e não para começar nada. Um Django novo deve nascer nas versões mais altas da lista, porque é com essas que as bibliotecas de que ele depende ainda são publicadas.

Criar a aplicação, passo a passo

1 Entre no My MozOut em https://www.my.mozout.com e abra o cPanel do plano.
2 No grupo Software, abra o Setup Python App e clique em criar aplicação.
3 Escolha a versão do Python. Depois de a aplicação estar montada, mudar de versão obriga a reinstalar tudo, por isso pense duas vezes agora.
4 Application root: a pasta onde vai ficar o código. Deve ficar fora da pasta pública do site.
5 Application URL: o domínio, ou o domínio mais um caminho, onde a aplicação vai responder.
6 Application startup file e Entry point: o arquivo que inicia a aplicação e o objeto dentro dele. Num Django, é o objeto da aplicação web que o próprio Django gera no projeto.
7 Crie. A página passa a mostrar-lhe, no topo, o comando que ativa este ambiente na linha de comandos. Copie-o: vai precisar dele.

Pôr lá o código e as bibliotecas

1 Envie o projeto para a pasta que indicou, por FTP ou pelo Gerenciador de Arquivos: contas FTP e o FileZilla. Não envie a pasta do ambiente virtual do seu computador: ela não serve aqui.
2 Ponha um arquivo de requisitos na raiz do projeto, com as bibliotecas e as versões. A página do seletor tem um botão que o instala por si, sem linha de comandos nenhuma.
3 Ou instale pela linha de comandos, se tiver acesso SSH: primeiro roda o comando de ativação que a página lhe deu, e só depois instala. Se instalar sem ativar, as bibliotecas vão parar ao lugar errado e a aplicação continua dizendo que não as encontra.
4 Defina as variáveis de ambiente na mesma página. É aí que deve ficar a chave secreta do Django e os dados de conexão à base, e não escritos no código.
Depois de cada alteração ao código, reinicie a aplicação. Há um botão para isso na página do selector. Ao contrário do PHP, uma aplicação Python fica carregada em memória: enquanto não reiniciar, continua servindo o código antigo, e você vai jurar que o arquivo não foi gravado.

O banco de dados, os estáticos e o resto

Assunto O que fazer
banco de dados Crie-o no cPanel como para qualquer outra aplicação: criar bancos de dados e usar o phpMyAdmin. Depois aponte as configurações do Django para ele, pelas variáveis de ambiente.
Arquivos estáticos Em produção, o Django não serve os estáticos. Colete-os com o comando próprio dele para uma pasta que fique dentro da área pública, e sirva-os a partir daí.
Endereços permitidos Ponha o seu domínio na lista de hosts permitidos do Django. Se não o fizer, ele recusa todos os pedidos e você vê um erro que não explica nada.
Modo de depuração Desligue-o antes de pôr no ar. Com ele ligado, qualquer erro mostra ao visitante os caminhos, as configurações e, por vezes, as credenciais.
Tarefas periódicas Use as tarefas agendadas do cPanel, chamando o comando dentro do ambiente que criou: tarefas agendadas.
Processos que ficam rodando sem parar não cabem num plano compartilhado. A aplicação web inicia a pedido e isso funciona bem; um trabalhador de fila permanente, um processo de tarefas assíncronas ou um servidor de websockets batem no teto de processos da conta e são interrompidos. Se a aplicação precisa disso, o lugar dela é um servidor próprio: VPS, Cloud ou Dedicado. Sobre os tetos, veja os limites da conta.

Para o panorama do que corre aqui, veja que tecnologias correm aqui. Se a aplicação é em outra linguagem, veja Ruby on Rails ou Laravel.

A aplicação foi criada e o endereço dá erro? Diga-nos o domínio e a pasta, e lemos o registro consigo.

Abrir um pedido de suporte

VEJA TAMBÉM

Planos de hospedagem e o que cada um inclui

Servidor VPS

Política de Suporte

PRODUTO RECOMENDADO

Hospedagem de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde R$ 36,30/mês (plano de 3 anos, com cupom)

Ver planos
Esta resposta foi útil? Sua resposta nos ajuda a melhorar este artigo.