Slide 1

Slide 1 text

Django Workshop

Slide 2

Slide 2 text

1. Python

Slide 3

Slide 3 text

▷ Simples, enxuta e poderosa ▷ Pilhas inclusas ▷ Interpretada e dinâmica ▷ Comunidade ativa e amigável Python?

Slide 4

Slide 4 text

▷ Web ○ Django, Flask, Bottle, Web2py, pyramid, twisted, ... ▷ Programação científica ○ SciPy, scikit-learn, pandas, NumPy, IPython, matplotlib ▷ Desktop ○ PyQT, PyGTK, WxPython, tkinter ▷ Cinema ○ Autodesk Maya, Blender, Nuke, ILM Python: aplicações

Slide 5

Slide 5 text

▷ InfoSec ○ Scapy ▷ Internet of Things ○ MicroPython ▷ Educação ○ "Python is Now the Most Popular Introductory Teaching Language at Top U.S. Universities" (ACM, 2014) Python: aplicações

Slide 6

Slide 6 text

▷ IronPython ▷ Jython ▷ PyJS, Brython ▷ PyPy (JIT) Python: aplicações

Slide 7

Slide 7 text

PyCon 2015

Slide 8

Slide 8 text

PyCon 2015

Slide 9

Slide 9 text

Python Brasil 2014

Slide 10

Slide 10 text

Python Brasil 2015

Slide 11

Slide 11 text

2. Django The web framework for perfectionists with deadlines.

Slide 12

Slide 12 text

▷ Full stack framework ▷ MVT (Model-View-Template) Django

Slide 13

Slide 13 text

Django: quem usa? ▷ Disqus ▷ Instagram ▷ Mozilla ▷ Pinterest ▷ G1 ▷ Magazine Luiza

Slide 14

Slide 14 text

3. Instalando Python & Django

Slide 15

Slide 15 text

Instalando Python 3.5 ▷ Windows: https://www.python.org/downloads/releas e/python-351/

Slide 16

Slide 16 text

Instalando Python 3.5 ▷ Ubuntu ○ sudo apt-get install python3.5 ▷ Fedora ○ sudo yum install python3.5 ▷ OS X ○ https://www.python.org/downloads/rel ease/python-342/

Slide 17

Slide 17 text

Ambiente virtual (virtualenv) ▷ Para que serve? ○ É uma ferramenta que mantem dependências de projetos diferentes em locais separados ○ Permite trabalhar em um projeto usando o Django 1.9 enquanto mantém um projeto antigo que usa Django 1.5

Slide 18

Slide 18 text

Ambiente virtual (virtualenv) ▷ Como funciona? ○ O virtualenv cria uma pasta com as dependências e executáveis que o projeto python necessita

Slide 19

Slide 19 text

Ambiente virtual (virtualenv) ▷ Sintaxe de criação do ambiente virtual (linux) python3 -m venv (win) C:\Python35\python -m venv ▷ Criando o env (linux) python3 -m venv env (win) C:\Python35\python -m venv env

Slide 20

Slide 20 text

Ambiente virtual (virtualenv) ▷ Ativando o ambiente (linux) source env/bin/activate (win) env\Scripts\activate ▷ Ao ativar o ambiente deverá aparecer (env) no começo de cada linha do terminal

Slide 21

Slide 21 text

▷ https://pypi.python.org/pypi ▷ Engloba "todos" os pacotes disponíveis para o Python PyPI: the Python Package Index

Slide 22

Slide 22 text

▷ pip serve para instalar pacotes disponíveis no PyPI ▷ pip significa "pip instala pacotes" ▷ Como usar: pip install pip: instalando pacotes do PyPI

Slide 23

Slide 23 text

▷ Instalando o django pip install django e-commerce Projeto Django

Slide 24

Slide 24 text

e-commerce Projeto Django ▷ Criando o projeto (linux) django-admin startproject ecom (win) python env\Scripts\django-admin.py starproject ecom ▷ Estrutura ▷ Configurando ○ Timezone ○ Arquivos estáticos

Slide 25

Slide 25 text

▷ Preparando o banco de dados python manage.py migrate ▷ Rodando o projeto python manage.py runserver ▷ Endereço do projeto ○ http://127.0.0.1:8000/ e-commerce Projeto Django

Slide 26

Slide 26 text

▷ Criando uma aplicação python manage.py startapp ecommerce ▷ Estrutura de uma aplicação ▷ Instalando a aplicação e-commerce Aplicação Django

Slide 27

Slide 27 text

▷ Modelo ○ User ○ Produto ○ Carrinho ○ Compra ▷ Criando as tabelas ○ python manage.py makemigrations ecommerce ○ python manage.py migrate ecommerce e-commerce Modelos

Slide 28

Slide 28 text

▷ Habilitando o Produto ▷ Página de administração ▷ Superusuário ▷ Cadastro de produtos e-commerce Adminstração

Slide 29

Slide 29 text

▷ Como funcionam ▷ Regex ○ ex: http://site.com/usuario/12345 ▷ Criando ecommerce/urls.py e-commerce URLs

Slide 30

Slide 30 text

▷ Criando a lista dos produtos ○ View ○ Template HTML ○ Queryset ○ Linguagem de template e-commerce Views, Template e ORM

Slide 31

Slide 31 text

▷ Melhorando a aparência ○ Template base ○ Bootstrap http://getbootstrap.com e-commerce Template

Slide 32

Slide 32 text

▷ Página do produto ▷ Carrinho de compras ▷ Checkout (compra) e-commerce Mais funcionalidades

Slide 33

Slide 33 text

▷ Deploy git & pythonanywhere ○ http://tutorial.djangogirls.org/pt/deploy/index.html ▷ Autenticação ○ https://docs.djangoproject.com/en/1.9/topics/auth/ ▷ Customizar o admin ○ https://docs.djangoproject.com/en/1.9/intro/tutorial 02/#introducing-the-django-admin ○ melhorar listagem dos produtos ○ incluir carrinho e-commerce Extra

Slide 34

Slide 34 text

▷ Materiais ○ http://tutorial.djangogirls.org/pt/index.html ○ https://docs.djangoproject.com/en/1.9/intro/tutorial 01/ ○ http://www.codecademy.com/tracks/web ○ http://www.codecademy.com/en/tracks/python ○ https://docs.djangoproject.com/en/1.9/topics/ E depois?

Slide 35

Slide 35 text

▷ Ainda mais funcionalidades ○ Autenticação login, logout, cadastro ○ Perfil do usuário editar dados, listar pedidos ○ Categorias de produtos ○ Melhorar ■ modelos (criar modelos, adicionar campos) ■ página do produto (exibir mais informações) ■ compra (descontos, frete, passo-a-passo) ■ layout (HTML/CSS) e-commerce E depois?

Slide 36

Slide 36 text

▷ grupy-sanca meetup.com/grupy-sanca ▷ PyLadies São Carlos saocarlos.pyladies.com ▷ Opensanca opensanca.com.br meetup.com/opensanca E depois?

Slide 37

Slide 37 text

Obrigado! Dúvidas? Contato: @luiz_amf [email protected]

Slide 38

Slide 38 text

Credits Special thanks to all the people who made and released these awesome resources for free: ▷ Presentation template by SlidesCarnival ▷ How to install python by Django Girls Tutorial