Iniciando com
Viagem ao mundo django!
1
Apresentação
● Graduado em Análise de Sistemas pela FATENE
● Programador de Sistemas de Informação Prefeitura de Fortaleza
marcelosantosadm@gmail.com
https://www.linkedin.com/in/marcelotdsantos
2
Python
É uma linguagem de programação criada por Guido Van Rossum
em 1991. Os objetivos do projeto da linguagem era: produtividade e
legibilidade. Em resumo, Python é uma linguagem de programação
que foi criada para produção de código bom e fácil de manter de
forma rápida.
3
https://docs.python.org/devguide/#quick-start
Quick Start
Testando o Python
Por meio do terminal, digite:
$ python
Isso vai abrir o python no modo iterativo, para que você pode testar
o trecho abaixo, digite o código e pressione ENTER:
>>> 5 * 5
25 // resultado da multiplicação entre os números
>>> ‘marcelo’.upper()
‘MARCELO’ // resultado da transformação da string para maiúsculo
4
Django
Django é um framework escrito em python, gratuito com código
aberto, muito utilizado para criação de aplicações web. Seu
ecossistema possui um conjunto de componentes que torna
produtivo o desenvolvimento de aplicações web, sendo fácil e rápida
a realização de implementações.
5
https://www.djangoproject.com/start/
Quick Start
Vamos de Docker, o que é?
● Processo de desenvolvimento e deploy
○ O Servidor é um Navio Carregado de Containers e cada Container possui mercadorias
○ O Docker é a ferramenta para criar e manter esses containers, ou melhor, ele fica
responsável por armazenar vários serviços de forma isolada do SO Host, como: web server,
banco de dados, aplicação e etc.
○ Seu back-end é baseado no LXC (Linux Containers), este isola processos do sistema
operacional host. Muito leve, pois não é preciso fazer emulação ou suporte a hardware.
Permite execução de sistemas linux de forma isolada, por isso o nome: Container. Utiliza o
mesmo Kernel do servidor Host, performático.
6
Get Start
https://docs.docker.com/engine/getstarted/
Docker Composer
O docker-compose utilizando-se do docker, torna a criação de
ambientes de desenvolvimento algo muito simples. O composer
depende do Docker (previamente instalado). Com tudo pronto,
vamos instalar o composer.
Siga as instruções de acordo com seu ambiente:
https://docs.docker.com/compose/install/
7
Dockerfile
Com o docker e docker-compose instalados, vamos preparar a estrutura do nosso projeto. Vamos criar
uma pasta nomeada à sua escolha, aqui chamada de django-app e dentro deste vamos criar nosso
Dockerfile (informações sobre a infra do projeto), com o seguinte conteúdo:
8
FROM python:2.7
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
É o arquivo que especifica como uma imagem no docker será criada, os pacotes
que serão instalados, usuários que serão criados, portas que serão expostas,
diretórios que serão compartilhados entre o host e um container, etc.
requirements.txt
Neste arquivo vamos inserir as dependências do nosso projeto, no caso vamos
utilizar o Django, sendo assim o conteúdo do arquivo será:
Django
Se nosso projeto fosse com Django e o django_restframework, então o arquivo
seria:
Django
djangorestframework
* Uma dependência abaixo da outra, simples assim!
9
Docker Composer
Vamos criar um arquivo, "docker-compose.yml", com a configuração abaixo:
10
web:
build: . //ponto do build, diretório que o arquivo encontra-se
command: python manage.py runserver 0.0.0.0:8000 //comando para rodar o dj
volumes:
- .:/code //pasta compartilhando código entre o container e o host
ports:
- "8000:8000" //porta onde o container e host irão se comunicar
É o arquivo de configuração do docker-compose, é composto por blocos e cada
bloco corresponde a um container, podendo eles serem "linkados", o
docker-compose utilizará esse arquivo como base para criar os conteineres
necessários, e executar tudo que foi especificado no mesmo.
Host: Nosso computador, onde temos nossa IDE preferida. :-)
Mão na massa
Após a realização dos procedimentos anteriores, vamos então criar nossa
aplicação django com o comando abaixo:
$ docker-compose run web django-admin.py startproject minhastarefas
Após rodar esse comando será criada a pasta minhastarefas no diretório.
11
Configurações no settings.py
Neste arquivo existem diversas configurações referentes ao projeto django, desde
definição de idioma, time zone, banco de dados, diretório de templates e etc. Vou
citar como exemplo a mudança do idioma de en-US para pt-BR.
LANGUAGE_CODE = 'pt-BR'
Com isso se utilizarmos o django admin, ele já ficará no idioma português do brasil.
12
Rodando a aplicação
Na pasta raiz do projeto, execute o comando:
$ docker-compose up
O docker-compose vai criar nosso caso o container web e startar a aplicação na porta 8000, acesse seu
http://localhost:8000 e você verá sua aplicação em execução.
13
Executando comandos django
Podemos executar comando do django com docker da seguinte forma:
$ docker-compose run <CONTAINER-NAME> <COMANDO-DESEJADO>
Para sincronizarmos o banco de dados da aplicação podemos fazê-lo da seguinte forma:
$ docker-compose run web ./manage.py syncdb
14
Obrigado à todos!
15
● Referências
https://docs.docker.com/compose/django/
https://www.djangoproject.com/
https://www.python.org/

Iniciando com django

  • 1.
    Iniciando com Viagem aomundo django! 1
  • 2.
    Apresentação ● Graduado emAnálise de Sistemas pela FATENE ● Programador de Sistemas de Informação Prefeitura de Fortaleza marcelosantosadm@gmail.com https://www.linkedin.com/in/marcelotdsantos 2
  • 3.
    Python É uma linguagemde programação criada por Guido Van Rossum em 1991. Os objetivos do projeto da linguagem era: produtividade e legibilidade. Em resumo, Python é uma linguagem de programação que foi criada para produção de código bom e fácil de manter de forma rápida. 3 https://docs.python.org/devguide/#quick-start Quick Start
  • 4.
    Testando o Python Pormeio do terminal, digite: $ python Isso vai abrir o python no modo iterativo, para que você pode testar o trecho abaixo, digite o código e pressione ENTER: >>> 5 * 5 25 // resultado da multiplicação entre os números >>> ‘marcelo’.upper() ‘MARCELO’ // resultado da transformação da string para maiúsculo 4
  • 5.
    Django Django é umframework escrito em python, gratuito com código aberto, muito utilizado para criação de aplicações web. Seu ecossistema possui um conjunto de componentes que torna produtivo o desenvolvimento de aplicações web, sendo fácil e rápida a realização de implementações. 5 https://www.djangoproject.com/start/ Quick Start
  • 6.
    Vamos de Docker,o que é? ● Processo de desenvolvimento e deploy ○ O Servidor é um Navio Carregado de Containers e cada Container possui mercadorias ○ O Docker é a ferramenta para criar e manter esses containers, ou melhor, ele fica responsável por armazenar vários serviços de forma isolada do SO Host, como: web server, banco de dados, aplicação e etc. ○ Seu back-end é baseado no LXC (Linux Containers), este isola processos do sistema operacional host. Muito leve, pois não é preciso fazer emulação ou suporte a hardware. Permite execução de sistemas linux de forma isolada, por isso o nome: Container. Utiliza o mesmo Kernel do servidor Host, performático. 6 Get Start https://docs.docker.com/engine/getstarted/
  • 7.
    Docker Composer O docker-composeutilizando-se do docker, torna a criação de ambientes de desenvolvimento algo muito simples. O composer depende do Docker (previamente instalado). Com tudo pronto, vamos instalar o composer. Siga as instruções de acordo com seu ambiente: https://docs.docker.com/compose/install/ 7
  • 8.
    Dockerfile Com o dockere docker-compose instalados, vamos preparar a estrutura do nosso projeto. Vamos criar uma pasta nomeada à sua escolha, aqui chamada de django-app e dentro deste vamos criar nosso Dockerfile (informações sobre a infra do projeto), com o seguinte conteúdo: 8 FROM python:2.7 ENV PYTHONUNBUFFERED 1 RUN mkdir /code WORKDIR /code ADD requirements.txt /code/ RUN pip install -r requirements.txt ADD . /code/ É o arquivo que especifica como uma imagem no docker será criada, os pacotes que serão instalados, usuários que serão criados, portas que serão expostas, diretórios que serão compartilhados entre o host e um container, etc.
  • 9.
    requirements.txt Neste arquivo vamosinserir as dependências do nosso projeto, no caso vamos utilizar o Django, sendo assim o conteúdo do arquivo será: Django Se nosso projeto fosse com Django e o django_restframework, então o arquivo seria: Django djangorestframework * Uma dependência abaixo da outra, simples assim! 9
  • 10.
    Docker Composer Vamos criarum arquivo, "docker-compose.yml", com a configuração abaixo: 10 web: build: . //ponto do build, diretório que o arquivo encontra-se command: python manage.py runserver 0.0.0.0:8000 //comando para rodar o dj volumes: - .:/code //pasta compartilhando código entre o container e o host ports: - "8000:8000" //porta onde o container e host irão se comunicar É o arquivo de configuração do docker-compose, é composto por blocos e cada bloco corresponde a um container, podendo eles serem "linkados", o docker-compose utilizará esse arquivo como base para criar os conteineres necessários, e executar tudo que foi especificado no mesmo. Host: Nosso computador, onde temos nossa IDE preferida. :-)
  • 11.
    Mão na massa Apósa realização dos procedimentos anteriores, vamos então criar nossa aplicação django com o comando abaixo: $ docker-compose run web django-admin.py startproject minhastarefas Após rodar esse comando será criada a pasta minhastarefas no diretório. 11
  • 12.
    Configurações no settings.py Nestearquivo existem diversas configurações referentes ao projeto django, desde definição de idioma, time zone, banco de dados, diretório de templates e etc. Vou citar como exemplo a mudança do idioma de en-US para pt-BR. LANGUAGE_CODE = 'pt-BR' Com isso se utilizarmos o django admin, ele já ficará no idioma português do brasil. 12
  • 13.
    Rodando a aplicação Napasta raiz do projeto, execute o comando: $ docker-compose up O docker-compose vai criar nosso caso o container web e startar a aplicação na porta 8000, acesse seu http://localhost:8000 e você verá sua aplicação em execução. 13
  • 14.
    Executando comandos django Podemosexecutar comando do django com docker da seguinte forma: $ docker-compose run <CONTAINER-NAME> <COMANDO-DESEJADO> Para sincronizarmos o banco de dados da aplicação podemos fazê-lo da seguinte forma: $ docker-compose run web ./manage.py syncdb 14
  • 15.
    Obrigado à todos! 15 ●Referências https://docs.docker.com/compose/django/ https://www.djangoproject.com/ https://www.python.org/