Deploy de uma aplicação Django no Pythonanywhere

Links da documentação oficial:

https://docs.djangoproject.com/pt-br/1.11/intro/reusable-apps/

Para baixar o código como está até agora, acesse o meu github no link abaixo: https://github.com/toticavalcanti/django_course/tree/deploy

DEPLOY

AGORA VOCÊ CRIOU (E TESTOU) UMA APP LOCALMENTE, VOCÊ VAI QUERER INSTALÁ-LA EM UM SERVIDOR WEB PÚBLICO PARA QUE ELA POSSA SER ACESSADA PELAS PESSOAS NA WEB PARA ISSO VAMOS:
  • FAZER ALGUMAS ALTERAÇÕES NAS CONFIGURAÇÕES DO PROJETO;
  • ESCOLHER UM AMBIENTE PARA HOSPEDAR O APLICATIVO DJANGO;
  • ESCOLHER UM AMBIENTE PARA HOSPEDAR QUALQUER ARQUIVO ESTÁTICO;
CONFIGURAR A INFRAESTRUTURA DE SERVIDOR DO SEU AMBIENTE DE PRODUÇÃO PARA A APP. O QUE É UM AMBIENTE DE PRODUÇÃO?
  • O AMBIENTE DE PRODUÇÃO É O AMBIENTE FORNECIDO PELO COMPUTADOR SERVIDOR NO QUAL VOCÊ EXECUTARÁ SUA APP DJANGO PARA CONSUMO EXTERNO
O AMBIENTE INCLUI:
  • HARDWARE
  • SISTEMA OPERACIONAL (POR EXEMPLO, LINUX, WINDOWS)
  • INTERPRETADOR/COMPILADOR (PYTHON) E BIBLIOTECAS
  • SERVIDOR DA WEB USADO PARA AS PÁGINAS E OUTROS CONTEÚDOS (POR EXEMPLO, NGINX, APACHE)
  • SERVIDOR DE APLICATIVOS
  • BANCOS DE DADOS
PYTHONANYWHERE É UM AMBIENTE DE DESENVOLVIMENTO INTEGRADO (IDE) E SERVIÇO DE HOSPEDAGEM WEB BASEADO NA LINGUAGEM DE PROGRAMAÇÃO PYTHON. UTILIZAREMOS O PLANO FREE. É NECESSÁRIO LEMBRAR QUE ESTE PLANO, POR SER GRÁTIS, TEM CERTAS LIMITAÇÕES. ACESSE O LINK ABAIXO E CRIE SUA CONTA:

https://www.pythonanywhere.com/pricing/

ESCOLHA A OPÇÃO: CREATE A BEGINNER ACCOUNT PARA A CONTA GRÁTIS OU OUTRA OPÇÃO QUE QUEIRA. AGORA É SÓ PREENCHER O CADASTRO PARA CRIAR LOGIN E SENHA. ADICIONE UM PROCFILE NA RAIZ DO PROJETO NO MESMO NÍVEL DO: manage.py A ÁRVORE DE PASTAS DO PROJETO TÁ MAIS OU MENOS ASSIM -mysite       -mysite/       - django-polls /       manage.py ADICIONE UM PROCFILE NA RAIZ DO PROJETO NO MESMO NÍVEL DO: manage.py ÁRVORE DE PASTAS DO PROJETO TÁ MAIS OU MENOS ASSIM -mysite       -mysite/       - django-polls /       manage.py       Procfile CONTEÚDO DO Procfile web: gunicorn mysite.wsgi:django-polls --log-file - O QUE É O GUNICORN? Gunicorn 'Green Unicorn' é o servidor HTTP Python WSGI (Web Server Gateway Interface), ou Interface de Porta de Entrada do Servidor Web, para UNIX. É um modelo de worker  (trabalhador) derivado do  Ruby’s Unicorn project. O servidor Gunicorn é amplamente compatível com vários frameworks web, simples implementação, leve em recursos de servidor e bastante rápido. O QUE É O NGINX? É um servidor web (HTTP e IMAP/POP3/Proxy), ele é um software que processa as solicitações (requests) dos usuários da rede garantindo que a troca de informações seja efetuada. O Nginx é encarregado de resolver as solicitações (requests) web realizada pelo cliente, reenviando para que o Gunicorn possa processá-las utilizando varios workers. Cada worker é capaz de se comunicar com a aplicação Django de maneira que se possa atender múltiplas solicitações (requests) ao mesmo tempo, mantendo um bom tempo de resposta. ADICIONE O ARQUIVO requirements.txt, NA MESMA PASTA DO Procfile e manage.py, COM TODOS OS REQUISITOS, OU SEJA, NA RAIZ DO PROJETO. -mysite        -mysite/        - django-polls /        manage.py        Procfile        requirements.txt COMANDO PRA GERAR O requirements.txt COM O AMBIENTE VIRTUAL ATIVADO RODE: pip freeze > requirements.txt CONTEÚDO DO requirements.txt
dj-database-url==0.5.0
-e git://github.com/django/django.git@57fd3700d4f5a7887ad3967fe19b61bc9f25b2f3#egg=Django
django-admin-interface==0.7.0
django-colorfield==0.1.15
django-flat-responsive==2.0
django-flat-theme==1.1.4
django-polls==0.1
gunicorn==19.9.0
#pkg-resources==0.0.0
psycopg2==2.7.5
pytz==2018.5
  CRIE TAMBÉM O runtime.txt PARA ESPECIFICAR A VERSÃO CORRETA DO PYTHON, CRIE ELE NA RAIZ DO PROJETO. -mysite       -mysite/       - django-polls /       manage.py       Procfile       requirements.txt       runtime.txt CONTEÚDO DO runtime.txt
python-3.6
CONFIGURE OS PARÂMETROS RELACIONADOS AOS ARQUIVOS ESTÁTICOS EM settings.py STATIC_URL = '/static/' # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/dev/howto/static-files/ # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/1.9/howto/static-files/ STATIC_ROOT = os.path.join(BASE_DIR, 'static')) PARA MAIORES DETALHES DE COMO COLOCAR NO AR O PROJETO, VEJA O VÍDEO DESSA AULA. LEMBRE-SE QUE O CÓDIGO TÁ DISPONÍVEL EM:

https://github.com/toticavalcanti/django_course/tree/deploy

E QUE VOCÊ VAI PRECISAR ABRIR UMA CONTA NO GITHUB PARA COLOCAR SEU PROJETO E DEPOIS SUBIR PARA O PYTHONANYWHERE. DEPOIS DE CRIAR UMA CONTA NO GITHUB, ENTRE NA PASTA QUE QUER COLOCAR O PROJETO E CLONE O PROJETO DO MEU GITHUB . Ex.
#Cria a pasta de projetos django
mkdir projetos_django

#Entra na pasta projetos_django
cd projetos_django
 
#Para clonar uma branch específica em um repositório github, gitlab, BitBucket, etc, use:
git clone -b <branch> <remote_repo>
ENTÃO NO CASO DO MEU GITHUB VOCÊ VAI FAZER O CLONE DA BRANCH DEPLOY.

#Agora é só clonar o projeto do meu github, da branch deploy, com o comando: git clone -b deploy git@github.com:toticavalcanti/django_course.git 

Para baixar o código como está até agora, acesse o meu github no link abaixo: https://github.com/toticavalcanti/django_course/tree/deploy

AULA  26

AULA  28

Todas as Aulas da App Polls

Página Principal

Obrigado

Até a próxima