Descomplicando o
desenvolvimento web com
Django
Henrique G. G. Pereira
Outubro / 2021
Django
Python e Django
Django é ridiculamente rápido!
• É possível ir de uma idéia até uma
aplicação completa em muito pouco
tempo.
• Você não precisa ser um expert em
modelagem de banco de dados.
• Você não precisa ser um expert em
orientação a objetos.
• Ideal para prototipagem.
• Ideal para produção.
Django já vem com tudo.
• Quando você usa o Django, você já tem:
• Sistema de Usuários
• Painel Administrativo
• Site Maps
• Sistema de Templates
• Mapeador Objeto-Relacional
• Gestão de Arquivos Estáticos
• Suporte a múltiplos bancos de dados
• Servidor de Testes
• Formulários
• Migrações
Django é seguro.
• Muitos erros comuns em aplicações web
como SQL injections, XSS, CSRF, e
Clickjacking não fazem nem cócegas no
Django.
• Django segue as melhores práticas da
indústria.
Alguns locais que usam ou usaram Django:
• Pinterest
• Instagram
• Disqus
• Spotify
• Nasa
Preparando o Ambiente
• https://www.python.org/
• Baixe o Python para sua Plataforma
• Python 3.10 foi lançado semana passada!
• https://www.djangoproject.com/
• Instale o Django
• pip install Django
Começando um Projeto
• django-admin.py startproject MeuSite
• Isso cria a estrutura básica de um projeto Django.
• Cria uma pasta chamada MeuSite
• Cria um arquivo chamado manage.py que vai ser usado pra gerenciar o projeto
• Cria uma pasta chamada MeuSite que contém as configurações do projeto
• Contém o arquivo settings.py
• Contém o arquivo urls.py
settings.py
• Configurações do projeto:
• Quais aplicações serão instaladas
• Quais as configurações do banco de dados
• Padrão para desenvolvimento é SQLite 3
• Suporta: MySQL, MariaDB, PostgreSQL, Oracle
• Quais as configurações de segurança padrão
urls.py
• Define as rotas ou caminhos para que o projeto vai usar.
• /admin leva ao painel administrativo
Começando uma aplicação
• python manage.py startapp Produtos
• Cria uma pasta correspondente a uma aplicação chamada Produtos.
• models.py contém os modelos de objectos que vão ser usados na nossa aplicação.
• views.py contém as regras de negócio que serão usadas na aplicação
• admin.py descreve como os modelos vão ser mostrados no painel administrativo
models.py
• Modelos são classes em Python.
• Cada modelo vai ser uma tabela no banco de dados.
• Não precisa escrever SQL!
• Qualquer mudança feita na estrutura de um modelo gera uma migração.
• python manage.py makemigrations
• Depois que a migração é criada, você pode executá-la no banco de dados.
• python manage.py migrate
admin.py
• Qual o comportamento dos modelos no painel administrativo?
• Registrando o modelo é possível criar/editar/remover.
Painel Administrativo
• Migre os modelos
• Rode o servidor de testes
• python manage.py runserver
• Acesse em http://localhost:8000/admin
• Crie um usuário usando python manage.py createsuperuser
views.py
• Regras de negócio
• Escritas em Python.
• Funções ou Classes
Templates
• Django tem uma linguagem própria para uso nos templates.
• Permite condicionais
• Permite laços de repetição
• Permite funções
• Templates são apenas para exibição dos dados.
• Toda a lógica fica nas Views e no Modelo.
Urls.py
• Definir as rotas permite que os usuários acessem nosso site.
• Usa path converters ou expressões regulares.
• Proteção automática contra URL Injections.
Demo Final
Quer saber mais?
• PythonBrasil 2021
• De 11 a 17 de Outubro de 2021
• Evento online e gratuito
• Inscrições ainda estão abertas.
https://2021.pythonbrasil.org.br/
• Site Oficial do Django
• https://djangoproject.com/
• https://docs.djangoproject.com/
Obrigado!

EBAC Django

  • 1.
    Descomplicando o desenvolvimento webcom Django Henrique G. G. Pereira Outubro / 2021
  • 2.
  • 3.
  • 4.
    Django é ridiculamenterápido! • É possível ir de uma idéia até uma aplicação completa em muito pouco tempo. • Você não precisa ser um expert em modelagem de banco de dados. • Você não precisa ser um expert em orientação a objetos. • Ideal para prototipagem. • Ideal para produção.
  • 5.
    Django já vemcom tudo. • Quando você usa o Django, você já tem: • Sistema de Usuários • Painel Administrativo • Site Maps • Sistema de Templates • Mapeador Objeto-Relacional • Gestão de Arquivos Estáticos • Suporte a múltiplos bancos de dados • Servidor de Testes • Formulários • Migrações
  • 6.
    Django é seguro. •Muitos erros comuns em aplicações web como SQL injections, XSS, CSRF, e Clickjacking não fazem nem cócegas no Django. • Django segue as melhores práticas da indústria.
  • 7.
    Alguns locais queusam ou usaram Django: • Pinterest • Instagram • Disqus • Spotify • Nasa
  • 8.
    Preparando o Ambiente •https://www.python.org/ • Baixe o Python para sua Plataforma • Python 3.10 foi lançado semana passada! • https://www.djangoproject.com/ • Instale o Django • pip install Django
  • 9.
    Começando um Projeto •django-admin.py startproject MeuSite • Isso cria a estrutura básica de um projeto Django. • Cria uma pasta chamada MeuSite • Cria um arquivo chamado manage.py que vai ser usado pra gerenciar o projeto • Cria uma pasta chamada MeuSite que contém as configurações do projeto • Contém o arquivo settings.py • Contém o arquivo urls.py
  • 10.
    settings.py • Configurações doprojeto: • Quais aplicações serão instaladas • Quais as configurações do banco de dados • Padrão para desenvolvimento é SQLite 3 • Suporta: MySQL, MariaDB, PostgreSQL, Oracle • Quais as configurações de segurança padrão
  • 11.
    urls.py • Define asrotas ou caminhos para que o projeto vai usar. • /admin leva ao painel administrativo
  • 12.
    Começando uma aplicação •python manage.py startapp Produtos • Cria uma pasta correspondente a uma aplicação chamada Produtos. • models.py contém os modelos de objectos que vão ser usados na nossa aplicação. • views.py contém as regras de negócio que serão usadas na aplicação • admin.py descreve como os modelos vão ser mostrados no painel administrativo
  • 13.
    models.py • Modelos sãoclasses em Python. • Cada modelo vai ser uma tabela no banco de dados. • Não precisa escrever SQL! • Qualquer mudança feita na estrutura de um modelo gera uma migração. • python manage.py makemigrations • Depois que a migração é criada, você pode executá-la no banco de dados. • python manage.py migrate
  • 15.
    admin.py • Qual ocomportamento dos modelos no painel administrativo? • Registrando o modelo é possível criar/editar/remover.
  • 17.
    Painel Administrativo • Migreos modelos • Rode o servidor de testes • python manage.py runserver • Acesse em http://localhost:8000/admin • Crie um usuário usando python manage.py createsuperuser
  • 18.
    views.py • Regras denegócio • Escritas em Python. • Funções ou Classes
  • 20.
    Templates • Django temuma linguagem própria para uso nos templates. • Permite condicionais • Permite laços de repetição • Permite funções • Templates são apenas para exibição dos dados. • Toda a lógica fica nas Views e no Modelo.
  • 22.
    Urls.py • Definir asrotas permite que os usuários acessem nosso site. • Usa path converters ou expressões regulares. • Proteção automática contra URL Injections.
  • 24.
  • 25.
    Quer saber mais? •PythonBrasil 2021 • De 11 a 17 de Outubro de 2021 • Evento online e gratuito • Inscrições ainda estão abertas. https://2021.pythonbrasil.org.br/ • Site Oficial do Django • https://djangoproject.com/ • https://docs.djangoproject.com/
  • 26.