Precisando fazer o deploy de sua aplicação Django, veja nesse tutorial como fazer de uma maneira simples e rápida.
Django é um framework web gratuito e de código aberto para o Python que permite a criação de sites de uma maneira rápida.
Com esse tutorial vamos facilitar para que você consiga fazer o deploy de sua aplicação Django de uma maneira fácil.
Requisitos para deploy da aplicação
Nesse tutorial vamos utilizar algumas versões específicas para realizar o deploy da aplicação sendo elas:
- Python 3.7
- Django 3.0.2
Como verificar a versão do Python
Para verificar qual versão do Python está instalada no seu servidor, é necessário acessar o seu FTP e rodar o comando python –version e a versão aparecerá na primeira linha:
Quando ativamos o Python no painel, o padrão é que seu domínio esteja em um servidor com Python 2. Para que você possa utilizar o Python 3, é necessário solicitar a migração para um servidor com suporte a essa tecnologia.
Você pode fazer a abertura de um chamado seguindo o tutorial desse post.
Criando a aplicação no painel
A criação da aplicação do painel pode ser feita seguindo esse tutorial.
Essa etapa é necessária para que seja criado a estrutura de pastas para realizar o deploy da aplicação.
Após a criação deverá ter uma nova pasta dentro do seu FTP “/apps_wsgi” e um novo arquivo com o nome nome-da-aplicacao.wsgi.
Instalar as dependências
Para começar instalando as dependências que vamos utilizar, podemos ver o que tem instalado no servidor, rodando o comando:
python -m pip freeze
Nesse tutorial vamos instalar apenas o Django 3.0.2, utilizando esse comando:
python -m pip install Django==3.0.2 --user
Caso precise instalar outra dependência pode utilizar desse comando:
python -m install nome_da_dependencia --user
Outra opção seria no seu ambiente de desenvolvimento rodar o seguinte comando para gerar um arquivo com suas dependências:
python -m pip freeze > requirements.txt
Assim quando você colocar os seus arquivos no FTP de produção para instalar todas as dependências de uma vez é necessário rodar somente o comando:
pip install -r requirements.txt
Criando a static e a media
Precisamos criar as pastas para guardar nossos arquivos estáticos e midias do site. Para isso é necessário acessar a www e fazer a criação de duas pastas a media e a static, isso pode ser feito utilizando os comandos a seguir:
cd www
mkdir static
mkdir media
Para que os arquivos estáticos e de media sejam reconhecidos corretamente, na sua aplicação Python, será necessário a criação de um alias no VHost do domínio, para isso entre em contato com nosso suporte para que possamos fazer esta configuração.
Você pode fazer a abertura de um chamado seguindo o tutorial desse post.
Arquivo wsgi
Na pasta apps_wsgi será criado o arquivo nome-da-aplicacao.wsgi onde ficam as configurações iniciais, por padrão ele vem com esse código:
import os, sys
sys.path.append('/home/django-tutorial/apps_wsgi')
sys.path.append('/home/django-tutorial/apps_wsgi/adm')
os.environ['PYTHON_EGG_CACHE'] = '/home/django-tutorial/apps_wsgi/.python-eggs'
os.environ['DJANGO_SETTINGS_MODULE'] = 'adm.settings'
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
Porém dependendo da sua aplicação pode ser necessário realizar alterações no arquivo. Então sempre que for realizada alguma alteração na sua aplicação é necessário informar ao servidor que essa alteração foi realizada. Isso pode ser feito rodando esse comando no seu terminal:
touch nome-da-aplicacao.wsgi
Configurações Finais
Esse é o momento onde você deve fazer o deploy dos arquivos da sua aplicação dentro da pasta apps_wsgi. Porém se o conteúdo for ficar na raiz pode ser posto diretamente na raiz da apps_wsgi, caso o conteúdo for ficar em uma subpasta como /app ou /admin deve ser por numa pasta com o mesmo nome.
Static.py
Agora é necessário configurar no seu static.py o caminho para as duas pastas que criamos mais acima.
Para realizar essa configuração é necessário adicionar 4 linhas no seu arquivo ou editar as existentes.
STATIC_URL = '/static/'
STATIC_ROOT = '/home/dominio/www/static'
MEDIA_URL = 'media/'
MEDIA_ROOT = '/home/dominio/www/media'
manage.py
Para finalizar precisamos informar ao Django onde ele irá guardar cada informação, nesse caso precisaremos ir na pasta onde o arquivo manage.py se encontra e rodar os seguintes comandos:
python manage.py collectstatic
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
Rodando agora mais uma vez o touch aplicacao.wsgi o deploy de sua aplicação de Django vai estar concluído.