Django
AsuacápsuladesoluçõeswebemPython
4º Encontro Carioca de Testes - 14 de junho de 2016
Sobremim
Paula Grangeiro
28 anos
Bacharel em Sistemas de Informação
Duque de Caxias
Gateira
Python & Arquitetura de Softwa...
Ondemeencontrar...
PorquePython? Não seria maravilhoso
se eu pudesse programar
enquanto desenvolvo uma
aplicação?
● É Software Livre
● É multiplataforma
● É uma linguagem de alto nível
● É fortemente tipada
● É de fácil aprendizado
● Po...
4ªposição
Entre as linguagens mais utilizadas no mundo.
fonte: TIOBE, Junho/2016 (http://www.tiobe.com/tiobe_index)
Django
Não seria maravilhoso
se eu pudesse me
preocupar somente em
desenvolver o código do
meu negócio sem me
perder numa ...
Vantagens
StartandGo!
● É Software Livre
● É multiplataforma
● É de nem tão fácil aprendizado
● Possui uma extensa documen...
print(‘codetime’)
BatteriesIncluded
● ORM
● Multi DB
● Migrations
● Authorization
● Authentication
● Admin
● Sites
● Forms
● CSRF
● Dev Serv...
MVT
A arquitetura MVT do Django é similar ao
conceito de MVC, onde os Models com a
ajuda da ORM intermediam o acesso ao
ba...
Model
Seria um sonho se
existisse um framework
onde não fosse
necessário ter que
lidar com todos essas
tabelas e
relaciona...
ORM
patient = Patient.objects.get(id=1)
patient.name = ‘Sara Shiva’
patient.save()
● API única de acesso
independente do b...
Migrations
python manage.py makemigrations
python manage.py migrate
● Mantém a consistência entre os
modelos e tabelas do ...
print(‘codetime’)
View
A simplicidade do
framework é
inversamente relativa à
quantidade de bruxaria
necessária para
realizar um POST
Views
Responsável por receber uma
requisição(request) Web e
retornar uma resposta
(response)
from django.http import HttpR...
URLdispatcher
Necessário para ligar a
requisição ao responsável pela
resposta.
from django.conf.urls import url
from . imp...
print(‘codetime’)
ClassBasedViews
Views especializadas em
certos tipos de objects
request e response
from django.http import HttpResponse
fr...
print(‘codetime’)
Template Em apenas um dia e 72
linhas Deus programou o
mundo. Nos outros 6
criou o layout.
Templates
● HTML friendly
● São extensíveis
● Tags
● Filters
{% extends “admin/base.html” %}
{% block content %}
<ul>
{% f...
print(‘codetime’)
Obrigada!
- Email: contato@paulagrangeiro.com.br
- Site: www.paulagrangeiro.com.br
- GitHub: @pgrangeiro
- Twitter: www.tw...
Junho 2016 - Django - A sua cápsula de soluções web em python
Próximos SlideShares
Carregando em…5
×

Junho 2016 - Django - A sua cápsula de soluções web em python

83 visualizações

Publicada em

Palestra apresentada no encontro de junho pela Paula Grangeiro - http://pt.slideshare.net/PaulaGrangeiro

Publicada em: Software
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
83
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
5
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Junho 2016 - Django - A sua cápsula de soluções web em python

  1. 1. Django AsuacápsuladesoluçõeswebemPython 4º Encontro Carioca de Testes - 14 de junho de 2016
  2. 2. Sobremim Paula Grangeiro 28 anos Bacharel em Sistemas de Informação Duque de Caxias Gateira Python & Arquitetura de Software yoroshiku!
  3. 3. Ondemeencontrar...
  4. 4. PorquePython? Não seria maravilhoso se eu pudesse programar enquanto desenvolvo uma aplicação?
  5. 5. ● É Software Livre ● É multiplataforma ● É uma linguagem de alto nível ● É fortemente tipada ● É de fácil aprendizado ● Possui uma extensa documentação ● Tem a comunidade mais lynda do mundo <3 Porque... print(‘É só amor <3’)
  6. 6. 4ªposição Entre as linguagens mais utilizadas no mundo. fonte: TIOBE, Junho/2016 (http://www.tiobe.com/tiobe_index)
  7. 7. Django Não seria maravilhoso se eu pudesse me preocupar somente em desenvolver o código do meu negócio sem me perder numa selva de comandos?
  8. 8. Vantagens StartandGo! ● É Software Livre ● É multiplataforma ● É de nem tão fácil aprendizado ● Possui uma extensa documentação ● Tem a comunidade mais lynda do mundo <3 ● Baixo acoplamento e alta coesão ● Retrocompatibilidade ● É de fácil instalação e configuração
  9. 9. print(‘codetime’)
  10. 10. BatteriesIncluded ● ORM ● Multi DB ● Migrations ● Authorization ● Authentication ● Admin ● Sites ● Forms ● CSRF ● Dev Server ● WSGI ● TestCases ● Caching ● Templates ● Estáticos ● Views ● URL Eporaívai...
  11. 11. MVT A arquitetura MVT do Django é similar ao conceito de MVC, onde os Models com a ajuda da ORM intermediam o acesso ao banco constituindo a camada de Model, os middlewares administram as requisições HTTP e enviam para um sistema de renderização de templates constituindo a camada de View e as Views com a ajuda do sistema que resolve as URLs constituem a camada equivalente a de Controller. Model View Template
  12. 12. Model Seria um sonho se existisse um framework onde não fosse necessário ter que lidar com todos essas tabelas e relacionamentos...
  13. 13. ORM patient = Patient.objects.get(id=1) patient.name = ‘Sara Shiva’ patient.save() ● API única de acesso independente do banco de dados do projeto ● Abordagem orientada à objetos ● Transações ACID
  14. 14. Migrations python manage.py makemigrations python manage.py migrate ● Mantém a consistência entre os modelos e tabelas do banco de dados
  15. 15. print(‘codetime’)
  16. 16. View A simplicidade do framework é inversamente relativa à quantidade de bruxaria necessária para realizar um POST
  17. 17. Views Responsável por receber uma requisição(request) Web e retornar uma resposta (response) from django.http import HttpResponse import datetime def current_datetime(request): now = datetime.datetime.now() html = "<html><body>It is now %s.</body></html>" % now return HttpResponse(html)
  18. 18. URLdispatcher Necessário para ligar a requisição ao responsável pela resposta. from django.conf.urls import url from . import views urlpatterns = [ url(r'^today/$', views.current_datetime), ]
  19. 19. print(‘codetime’)
  20. 20. ClassBasedViews Views especializadas em certos tipos de objects request e response from django.http import HttpResponse from django.views.generic import View import datetime class MyView(View): def get(self, request): now = datetime.datetime.now() html = "<html><body>It is now %s</body></html>" % now return HttpResponse(html)
  21. 21. print(‘codetime’)
  22. 22. Template Em apenas um dia e 72 linhas Deus programou o mundo. Nos outros 6 criou o layout.
  23. 23. Templates ● HTML friendly ● São extensíveis ● Tags ● Filters {% extends “admin/base.html” %} {% block content %} <ul> {% for athlete in athlete_list %} <li>{{ athlete.name }}</li> {% endfor %} </ul> {% endblock %}
  24. 24. print(‘codetime’)
  25. 25. Obrigada! - Email: contato@paulagrangeiro.com.br - Site: www.paulagrangeiro.com.br - GitHub: @pgrangeiro - Twitter: www.twitter.com/paulagrangeiro - Facebook: www.facebook.com/paula.grangeiro

×