Workshop Django

Fd349405eaec4414ccf8720edea9b4fa?s=47 Luiz Menezes
February 20, 2016

Workshop Django

Oficina de Django apresentada no meetup Opensanca (www.meetup.com/opensanca/)

Fd349405eaec4414ccf8720edea9b4fa?s=128

Luiz Menezes

February 20, 2016
Tweet

Transcript

  1. Django Workshop

  2. 1. Python

  3. ▷ Simples, enxuta e poderosa ▷ Pilhas inclusas ▷ Interpretada

    e dinâmica ▷ Comunidade ativa e amigável Python?
  4. ▷ 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
  5. ▷ 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
  6. ▷ IronPython ▷ Jython ▷ PyJS, Brython ▷ PyPy (JIT)

    Python: aplicações
  7. PyCon 2015

  8. PyCon 2015

  9. Python Brasil 2014

  10. Python Brasil 2015

  11. 2. Django The web framework for perfectionists with deadlines.

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

  13. Django: quem usa? ▷ Disqus ▷ Instagram ▷ Mozilla ▷

    Pinterest ▷ G1 ▷ Magazine Luiza
  14. 3. Instalando Python & Django

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

  16. 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/
  17. 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
  18. Ambiente virtual (virtualenv) ▷ Como funciona? ◦ O virtualenv cria

    uma pasta com as dependências e executáveis que o projeto python necessita
  19. Ambiente virtual (virtualenv) ▷ Sintaxe de criação do ambiente virtual

    (linux) python3 -m venv <nome do env> (win) C:\Python35\python -m venv <nome do env> ▷ Criando o env (linux) python3 -m venv env (win) C:\Python35\python -m venv env
  20. 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
  21. ▷ https://pypi.python.org/pypi ▷ Engloba "todos" os pacotes disponíveis para o

    Python PyPI: the Python Package Index
  22. ▷ pip serve para instalar pacotes disponíveis no PyPI ▷

    pip significa "pip instala pacotes" ▷ Como usar: pip install <nome do pacote> pip: instalando pacotes do PyPI
  23. ▷ Instalando o django pip install django e-commerce Projeto Django

  24. 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
  25. ▷ 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
  26. ▷ Criando uma aplicação python manage.py startapp ecommerce ▷ Estrutura

    de uma aplicação ▷ Instalando a aplicação e-commerce Aplicação Django
  27. ▷ Modelo ◦ User ◦ Produto ◦ Carrinho ◦ Compra

    ▷ Criando as tabelas ◦ python manage.py makemigrations ecommerce ◦ python manage.py migrate ecommerce e-commerce Modelos
  28. ▷ Habilitando o Produto ▷ Página de administração ▷ Superusuário

    ▷ Cadastro de produtos e-commerce Adminstração
  29. ▷ Como funcionam ▷ Regex ◦ ex: http://site.com/usuario/12345 ▷ Criando

    ecommerce/urls.py e-commerce URLs
  30. ▷ Criando a lista dos produtos ◦ View ◦ Template

    HTML ◦ Queryset ◦ Linguagem de template e-commerce Views, Template e ORM
  31. ▷ Melhorando a aparência ◦ Template base ◦ Bootstrap http://getbootstrap.com

    e-commerce Template
  32. ▷ Página do produto ▷ Carrinho de compras ▷ Checkout

    (compra) e-commerce Mais funcionalidades
  33. ▷ 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
  34. ▷ 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?
  35. ▷ 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?
  36. ▷ grupy-sanca meetup.com/grupy-sanca ▷ PyLadies São Carlos saocarlos.pyladies.com ▷ Opensanca

    opensanca.com.br meetup.com/opensanca E depois?
  37. Obrigado! Dúvidas? Contato: @luiz_amf luiz.menezesf@gmail.com

  38. 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