Django: O Framework web para perfeccionistas com prazos

100

description

Apresentação de Django apresentada no II Liberdade Interativa, que aconteceu no dia 19 de agosto de 2010, na Faesa, Av. Vitória (Vitória, ES).

Transcript of Django: O Framework web para perfeccionistas com prazos

Page 1: Django: O Framework web para perfeccionistas com prazos
Page 2: Django: O Framework web para perfeccionistas com prazos

Desenvolvendo

Page 3: Django: O Framework web para perfeccionistas com prazos

Desenvolvendo

aplicações web

Page 4: Django: O Framework web para perfeccionistas com prazos

Desenvolvendo

aplicações webem tempo

Page 5: Django: O Framework web para perfeccionistas com prazos

Desenvolvendo

aplicações webem tempo

RECORDE.

Page 6: Django: O Framework web para perfeccionistas com prazos
Page 7: Django: O Framework web para perfeccionistas com prazos

35

Page 8: Django: O Framework web para perfeccionistas com prazos

30

Page 9: Django: O Framework web para perfeccionistas com prazos

20

Page 10: Django: O Framework web para perfeccionistas com prazos
Page 11: Django: O Framework web para perfeccionistas com prazos
Page 12: Django: O Framework web para perfeccionistas com prazos
Page 13: Django: O Framework web para perfeccionistas com prazos

10

Page 14: Django: O Framework web para perfeccionistas com prazos
Page 15: Django: O Framework web para perfeccionistas com prazos

O teclado mais rápido do Oeste.

Page 16: Django: O Framework web para perfeccionistas com prazos

O teclado mais rápido do Oeste.

#$%&*&@#@#

#@$%

Page 17: Django: O Framework web para perfeccionistas com prazos
Page 18: Django: O Framework web para perfeccionistas com prazos
Page 19: Django: O Framework web para perfeccionistas com prazos
Page 20: Django: O Framework web para perfeccionistas com prazos

DjangoO framework web para perfeccionistas com prazos

Page 21: Django: O Framework web para perfeccionistas com prazos

quem é você?

Page 22: Django: O Framework web para perfeccionistas com prazos

Welcome to the Django!

Page 23: Django: O Framework web para perfeccionistas com prazos
Page 24: Django: O Framework web para perfeccionistas com prazos
Page 25: Django: O Framework web para perfeccionistas com prazos
Page 26: Django: O Framework web para perfeccionistas com prazos
Page 27: Django: O Framework web para perfeccionistas com prazos
Page 28: Django: O Framework web para perfeccionistas com prazos
Page 29: Django: O Framework web para perfeccionistas com prazos

mas qual é a relação?

Page 30: Django: O Framework web para perfeccionistas com prazos

Magia

Page 31: Django: O Framework web para perfeccionistas com prazos
Page 32: Django: O Framework web para perfeccionistas com prazos
Page 33: Django: O Framework web para perfeccionistas com prazos
Page 34: Django: O Framework web para perfeccionistas com prazos

Abrindo a caixa

Page 35: Django: O Framework web para perfeccionistas com prazos

Orientado a aplicações

Page 36: Django: O Framework web para perfeccionistas com prazos
Page 37: Django: O Framework web para perfeccionistas com prazos
Page 38: Django: O Framework web para perfeccionistas com prazos

MVC?

Page 39: Django: O Framework web para perfeccionistas com prazos

MVC?+-

Page 40: Django: O Framework web para perfeccionistas com prazos
Page 41: Django: O Framework web para perfeccionistas com prazos
Page 42: Django: O Framework web para perfeccionistas com prazos

Cliente (browser)

URLTemplate

View

Model

Banco de dados

Page 43: Django: O Framework web para perfeccionistas com prazos

GET /livros

URLTemplate

View

Model

Banco de dados

Page 44: Django: O Framework web para perfeccionistas com prazos

GET /livros

Módulo de URLsTemplate

View

Model

Banco de dados

(r'^livros/$', 'views.listar_livros'),

Page 45: Django: O Framework web para perfeccionistas com prazos

GET /livros

Módulo de URLsTemplate

listar_livros(request)

Model

Banco de dados

def listar_livros(request): livros = Livro.objects.all() return render_to_response('livros.html', locals())

Page 46: Django: O Framework web para perfeccionistas com prazos

listar_livros(request)

GET /livros

Módulo de URLsTemplate

Model: classe Livro

Banco de dados

class Livro(Model): titulo = CharField(max_length = 100)

def listar_livros(request): livros = Livro.objects.all() return render_to_response('livros.html', locals())

Page 47: Django: O Framework web para perfeccionistas com prazos

Model: classe Livro

GET /livros

Módulo de URLsTemplate

Não importa (:

listar_livros(request)

def listar_livros(request): livros = Livro.objects.all() return render_to_response('livros.html', locals())

Page 48: Django: O Framework web para perfeccionistas com prazos

listar_livros(request)

Model: classe Livro

GET /livros

Módulo de URLslivros.html

def listar_livros(request): livros = Livro.objects.all() return render_to_response('livros.html', locals())

<ul> {% for livro in livros %} <li>{{ livro.titulo }}</li> {% endfor %}</ul>

Page 49: Django: O Framework web para perfeccionistas com prazos

livros.html

listar_livros(request)

Model: classe Livro

Módulo de URLs

GET /livros

Page 50: Django: O Framework web para perfeccionistas com prazos

Cliente (browser)

URL

Banco de dados

Template

View

Model

Page 51: Django: O Framework web para perfeccionistas com prazos

E mais...

Page 52: Django: O Framework web para perfeccionistas com prazos

E mais...

6 linhas de código Python.

Page 53: Django: O Framework web para perfeccionistas com prazos

E mais...

6 linhas de código Python.

5 linhas de html/template.

Page 54: Django: O Framework web para perfeccionistas com prazos

E mais...

6 linhas de código Python.

5 linhas de html/template.SQL?

Page 55: Django: O Framework web para perfeccionistas com prazos

Amazing!!!

Page 56: Django: O Framework web para perfeccionistas com prazos

Amazing!!!

Asombroso!!!

Surpreendente!!!

i18n

Page 57: Django: O Framework web para perfeccionistas com prazos

Autenticação

Page 58: Django: O Framework web para perfeccionistas com prazos

@login_requireddef listar_livros(request): livros = Livro.objects.all() return render_to_response('livros.html', locals())

Autenticação

Page 59: Django: O Framework web para perfeccionistas com prazos

Controle de permissão

Page 60: Django: O Framework web para perfeccionistas com prazos

Controle de permissão

@permission_required('livros.pode_listar')def listar_livros(request): livros = Livro.objects.all() return render_to_response('livros.html', locals())

Page 61: Django: O Framework web para perfeccionistas com prazos

Django Forms

Page 62: Django: O Framework web para perfeccionistas com prazos

Django Forms

class LivroForm(Form): titulo = CharField(max_length = 100)

Page 63: Django: O Framework web para perfeccionistas com prazos

Django Forms

class LivroForm(Form): titulo = CharField(max_length = 100)

class Livro(Model): titulo = CharField(max_length = 100)

Page 64: Django: O Framework web para perfeccionistas com prazos

Django Forms

class LivroForm(ModelForm): class Meta: model = Livro

Page 65: Django: O Framework web para perfeccionistas com prazos

Django Forms

class LivroForm(ModelForm): class Meta: model = Livro

class Livro(Model): titulo = CharField(max_length = 100) autor = CharField(max_length = 255) descricao = CharField(max_length = 1024)

Page 66: Django: O Framework web para perfeccionistas com prazos

Django Forms

class LivroForm(ModelForm): class Meta: model = Livro

class Livro(Model): titulo = CharField(max_length = 100) autor = CharField(max_length = 255) descricao = CharField(max_length = 1024)

Tem um desses pra Fórmula 1?

Page 67: Django: O Framework web para perfeccionistas com prazos

Django Forms

class LivroForm(ModelForm): class Meta: model = Livro

class Livro(Model): titulo = CharField(max_length = 100) autor = CharField(max_length = 255) descricao = CharField(max_length = 1024)

Tá de sacanagem?!

Tem um desses pra Fórmula 1?

Page 68: Django: O Framework web para perfeccionistas com prazos

L10n

class PessoaForm(Form): nome = CharField(max_length = 100) cpf = CPFField() telefone = BRPhoneField()

Page 69: Django: O Framework web para perfeccionistas com prazos

L10n

class PessoaForm(Form): nome = CharField(max_length = 100) cpf = CPFField() telefone = BRPhoneField()

Page 70: Django: O Framework web para perfeccionistas com prazos

1/2

Page 71: Django: O Framework web para perfeccionistas com prazos

2/2

Page 72: Django: O Framework web para perfeccionistas com prazos

Da pra fazer melhor?

Page 73: Django: O Framework web para perfeccionistas com prazos

Django admin

Page 74: Django: O Framework web para perfeccionistas com prazos

class Livro(Model): titulo = CharField(max_length = 100)

Page 75: Django: O Framework web para perfeccionistas com prazos

class Livro(Model): titulo = CharField(max_length = 100)

admin.site.register(Livro)

Page 76: Django: O Framework web para perfeccionistas com prazos

class Livro(Model): titulo = CharField(max_length = 100)

admin.site.register(Livro)

(r'^admin/', include(admin.site.urls)),

Page 77: Django: O Framework web para perfeccionistas com prazos

class Livro(Model): titulo = CharField(max_length = 100)

admin.site.register(Livro)

(r'^admin/', include(admin.site.urls)),

Resultado?

Page 78: Django: O Framework web para perfeccionistas com prazos
Page 79: Django: O Framework web para perfeccionistas com prazos
Page 80: Django: O Framework web para perfeccionistas com prazos
Page 81: Django: O Framework web para perfeccionistas com prazos
Page 82: Django: O Framework web para perfeccionistas com prazos
Page 83: Django: O Framework web para perfeccionistas com prazos
Page 84: Django: O Framework web para perfeccionistas com prazos
Page 85: Django: O Framework web para perfeccionistas com prazos

4

Page 86: Django: O Framework web para perfeccionistas com prazos

Merece a dancinha

Page 87: Django: O Framework web para perfeccionistas com prazos

Tem mais?

Page 88: Django: O Framework web para perfeccionistas com prazos

Tem mais?

PaginaçãoViews genéricasFeedsMensagensCSRFSignalsTestes automatizados[...]

Page 89: Django: O Framework web para perfeccionistas com prazos

Algumas considerações

Page 90: Django: O Framework web para perfeccionistas com prazos

Eu não sei Python

Page 91: Django: O Framework web para perfeccionistas com prazos

Onde e como hospedar?

Page 92: Django: O Framework web para perfeccionistas com prazos

E agora?

Page 93: Django: O Framework web para perfeccionistas com prazos

www.djangoproject.com

Page 94: Django: O Framework web para perfeccionistas com prazos

www.djangobrasil.org

Page 95: Django: O Framework web para perfeccionistas com prazos

www.aprendendodjango.com

Page 96: Django: O Framework web para perfeccionistas com prazos

www.djangosites.org

Page 97: Django: O Framework web para perfeccionistas com prazos

groups.google.com/group/django-brasil

Page 98: Django: O Framework web para perfeccionistas com prazos

www.djangovideos.com

Page 99: Django: O Framework web para perfeccionistas com prazos

?/∞

Page 100: Django: O Framework web para perfeccionistas com prazos

@[email protected]

DjangoO framework web para perfeccionistas com prazos