Este artigo explica de forma detalhada toda a operação dos planos de hospedagem django e python na Homehost.
Conteúdo
Criando sua primeira aplicação Django
Neste tutorial vamos ver como criar um projeto Python/Django em sua hospedagem. Este tutorial irá se basear na versão 3.10.9 do Python e 4.2.4 do Django e irá utilizar o domínio fictício siteexemplo.h-br.com nos exemplos. Essas são as versões mais atuais do python e do django até o momento (novas versões são habilitadas automaticamente de forma periódica), mas poderá escolher versões mais antigas durante a criação do aplicação.
Primeiramente, acesse seu painel de controle cPanel e procure a opção “Setup Python App” na guia Software.
Em seguida, você encontrará a seguinte tela com a opção “CRIAR APLICAÇÃO”:
Em “Python version”, deve escolher a versão do Python que deseja para sua aplicação. Verá várias versões do Python disponíveis, mas nesse exemplo iremos usar a versão 3.10.9.
No campo “Raiz do aplicativo”, deverá inserir o nome do seu aplicativo. Nesse exemplo iremos utilizar o nome “meuapp”.
Os campos “Arquivo de inicialização do aplicativo” e “Application Entry point” devem permanecer vazias, pois serão preenchidas automaticamente pelo cPanel.
Na opção “Passenger log file” poderá definir o caminho do arquivo que receberá os logs de sua aplicação. Em nosso exemplo, iremos escolher o diretório “logs”.
Por fim, basta clicar em CRIAR e sua aplicação será criada.
Como podemos ver os campos “Arquivo de inicialização do aplicativo” e “Application Entry point” foram preenchidos de forma automática pelo cPanel.
Instalar o Django na aplicação Python
O próximo passo é instalar o Django nesta aplicação Python. Caso você seja um usuário avançado e queira usar um cliente de SSH de sua preferência, basta acessar o servidor por SSH e utilizar o comando que está em “Enter to the virtual environment.To enter to virtual environment, run the command:” no SSH para entrar no virtualenv e poder instalar tanto o Django quanto os módulos que desejar.
É possível também manipular sua conta via SSH pelo próprio painel de controle, utilizando a ferramenta Terminal e será dessa forma que iremos mostrar nesse exemplo. O primeiro passo é copiar o comando para entrar no virtualenv:
Agora que o comando foi copiado, vamos abrir o terminal :
Ao abrir o terminal, será exibido a tela lhe permitindo inserir comandos e basta colar o comando que foi copiado da tela de projetos conforme o print abaixo:
Quando teclar enter no final da linha desse comando, já estará no virtualenv e irá reparar que o nome do projeto e a versão do python estarão logo no inicio da linha:
No print acima, temos também um exemplo de uso do comando “pwd” que exibe na tela o diretório que está visualizando no momento. Pode perceber que já está no diretório do seu projeto. O comando “ls” exibido acima mostra o conteúdo gerado automaticamente pelo cPanel.
O próximo passo é a instalação do django usando o comando “pip install django”:
Criar um projeto
Agora que temos uma aplicação Python instalada com o Django, precisamos criar um projeto. Para isso, vamos usar o comando “django-admin startproject meuapp .” Segue print de exemplo:
Observação importante: No final do comando “django-admin startproject meuapp .” há um ponto no final, que significa que o projeto será instalado no diretório atual. Sem o ponto, será criado um subdiretório extra que pode gerar confusão.
Vamos ver agora os novos arquivos e diretórios criados pelo comando:
Podemos ver todos os arquivos e diretórios criados pelo django-admin. O próximo passo agora é atualizar o arquivo de inicialização da aplicação para o wsgi.py do django. Para isso, devemos voltar na tela de projetos do cpanel e editar o nosso projeto:
Devemos agora ajustar o arquivo de inicialização, inserindo o caminho do wsgi.py do projeto django:
A partir desse momento o site django já deverá estar online. Para um teste, basta acessar o site em outra aba do navegador:
Quando acessar o site, irá ver a tela do print acima. Essa tela informa que não há um host configurado com permissão para esse aplicativo. Para corrigir essa configuração, deverá acessar o gerenciador de arquivos do cPanel e editar o arquivo settings.py do seu projeto:
Ao clicar no botão “Edit” será exibido o conteúdo do arquivo settings.py e deverá localizar a linha do ALLOWED_HOSTS e irá reparar que ela está sem conteúdo:
Basta inserir o nome de seu site nessa parte com e sem www seguindo o modelo abaixo:
ALLOWED_HOSTS = ['siteexemplo.h-br.com','www.siteexemplo.h-br.com']
Ao final da edição deverá clicar no botão “Salvar alterações” no canto superior direito.
Volte no cpanel na tela de seu aplicativo e de restart na aplicação para que as atualizações sejam aplicadas.
Agora basta testar o acesso em seu site. Estando tudo correto, ele deverá exibir a tela de demonstração do django como o print abaixo:
Agora devemos configurar o caminho dos arquivos estáticos de seu projeto. Para isso, volte no gerenciador de arquivos. O diretório publico de sua conta é o public_html. Nesse exemplo, iremos criar um diretório dentro dele de nome “static” conforme os print’s abaixo:
Agora devemos configurar o caminho no arquivo de configuração, para isso, edite novamente o arquivo settings.py:
Deverá ir até o final do arquivos e inserir a seguinte linha:
STATIC_ROOT = '/home/siteexem/public_html/static'
Observação importante: Nesse exemplo estamos usando o caminho de nossa conta de teste. Em seu caso precisará definir o caminho correto de sua conta no servidor.
Depois que inserir a linha, clique em salvar alterações. A próxima etapa é rodar o comando para coletar a nova configuração de caminho dos arquivos estáticos. Esse procedimento deve ser feito via terminal:
Agora o próximo passo é testar. Volte no gerenciador de arquivos, entre no diretório public_html/static e crie um arquivo teste conforme o print abaixo:
Depois que criar o arquivo dentro da pasta static, vamos edita-lo e inserir um conteúdo:
Depois que inserir o texto, clique no botão “salvar alterações” e faça um teste de acesso via navegador. Em nosso exemplo o link ficou da seguinte forma:
E Voila! Seu projeto já está pronto para receber seu conteúdo!