iniciando com django
TRANSCRIPT
Apresentação
● Graduado em Análise de Sistemas pela FATENE
● Programador de Sistemas de Informação Prefeitura de Fortaleza
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 PythonPor 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 Starthttps://docs.docker.com/engine/getstarted/
Docker ComposerO 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.7ENV PYTHONUNBUFFERED 1RUN mkdir /codeWORKDIR /codeADD requirements.txt /code/RUN pip install -r requirements.txtADD . /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.txtNeste 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çãoNa 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/