Desenvolvendo
Desenvolvendo

  aplicações web
Desenvolvendo

  aplicações web
em tempo
Desenvolvendo

  aplicações web
em tempo


                RD E .
      R E CO
35
30
20
10
O teclado
mais rápido
 do Oeste.
#$
         %&*&@#@#
           #@$%
 O teclado
mais rápido
 do Oeste.
Django
O framework web para perfeccionistas com prazos
quem é você?
Welcome to the Django!
mas qual é a relação?
Magia
Abrindo a caixa
Orientado a
aplicações
MVC?
MVC?
 +-
Cliente (browser)



Template                  URL



            View



           Model



       Banco de dados
GET /livros



Template                 URL



              View



             Model



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

               GET /livros



   Template               Módulo de URLs



        ...
def listar_livros(request):
    livros = Livro.objects.all()
             GET /livros
    return render_to_response('livro...
def listar_livros(request):
    livros = Livro.objects.all()
                            GET /livros
    return render_to_...
def listar_livros(request):
    livros = Livro.objects.all()
             GET /livros
    return render_to_response('livro...
def listar_livros(request):
    livros = Livro.objects.all()
             GET /livros
    return render_to_response('livro...
GET /livros



livros.html             Módulo de URLs



       listar_livros(request)



        Model: classe Livro
Cliente (browser)



Template                  URL



            View



           Model



       Banco de dados
E mais...
E mais...
6 linhas de código Python.
E mais...
6 linhas de código Python.

    5 linhas de html/template.
E mais...

SQL?
6 linhas de código Python.

    5 linhas de html/template.
Amazing!!!
Amazing!!!


  Asombroso!!!


Surpreendente!!!


              i18n
Autenticação
@login_required
def listar_livros(request):
    livros = Livro.objects.all()
    return render_to_response('livros.html', ...
Controle de permissão
Controle de permissão




@permission_required('livros.pode_listar')
def listar_livros(request):
    livros = Livro.object...
Django Forms
class LivroForm(Form):
    titulo = CharField(max_length = 100)




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



class Livro(Model):
    titulo = CharFie...
class LivroForm(ModelForm):
    class Meta:
        model = Livro




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



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



c...
Tá de
                         class LivroForm(ModelForm):
                    sacanagem?! Meta:
                         ...
class PessoaForm(Form):
    nome = CharField(max_length = 100)
    cpf = CPFField()
    telefone = BRPhoneField()




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




    ...
1
/2
2
/2
Da pra fazer
  melhor?
Django admin
class Livro(Model):
    titulo = CharField(max_length = 100)
class Livro(Model):
    titulo = CharField(max_length = 100)

                             admin.site.register(Livro)
class Livro(Model):
    titulo = CharField(max_length = 100)

                             admin.site.register(Livro)

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

                             admin.site.register(Livro)

 (r...
4
Merece a dancinha
Tem
mais?
Tem     Paginação
mais?   Views genéricas
        Feeds
        Mensagens
        CSRF
        Signals
        Testes auto...
Algumas
considerações
Eu não sei
Python
Onde e como
hospedar?
E agora?
www.djangoproject.com
www.djangobrasil.org
www.aprendendodjango.com
www.djangosites.org
groups.google.com/group/django-brasil
www.djangovideos.com
?
/∞
Django
O framework web para perfeccionistas com prazos




                                @franciscosouza
               ...
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Django: O Framework web para perfeccionistas com prazos
Próximos SlideShares
Carregando em…5
×

Django: O Framework web para perfeccionistas com prazos

1.653 visualizações

Publicada em

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

0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.653
No SlideShare
0
A partir de incorporações
0
Número de incorporações
33
Ações
Compartilhamentos
0
Downloads
29
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Django: O Framework web para perfeccionistas com prazos

  1. 1. Desenvolvendo
  2. 2. Desenvolvendo aplicações web
  3. 3. Desenvolvendo aplicações web em tempo
  4. 4. Desenvolvendo aplicações web em tempo RD E . R E CO
  5. 5. 35
  6. 6. 30
  7. 7. 20
  8. 8. 10
  9. 9. O teclado mais rápido do Oeste.
  10. 10. #$ %&*&@#@# #@$% O teclado mais rápido do Oeste.
  11. 11. Django O framework web para perfeccionistas com prazos
  12. 12. quem é você?
  13. 13. Welcome to the Django!
  14. 14. mas qual é a relação?
  15. 15. Magia
  16. 16. Abrindo a caixa
  17. 17. Orientado a aplicações
  18. 18. MVC?
  19. 19. MVC? +-
  20. 20. Cliente (browser) Template URL View Model Banco de dados
  21. 21. GET /livros Template URL View Model Banco de dados
  22. 22. (r'^livros/$', 'views.listar_livros'), GET /livros Template Módulo de URLs View Model Banco de dados
  23. 23. def listar_livros(request): livros = Livro.objects.all() GET /livros return render_to_response('livros.html', locals()) Template Módulo de URLs listar_livros(request) Model Banco de dados
  24. 24. def listar_livros(request): livros = Livro.objects.all() GET /livros return render_to_response('livros.html', locals()) class Livro(Model): Template titulo = Módulo de URLs CharField(max_length = 100) listar_livros(request) Model: classe Livro Banco de dados
  25. 25. def listar_livros(request): livros = Livro.objects.all() GET /livros return render_to_response('livros.html', locals()) Template Módulo de URLs listar_livros(request) Model: classe Livro Não importa (:
  26. 26. def listar_livros(request): livros = Livro.objects.all() GET /livros return render_to_response('livros.html', locals()) livros.html Módulo de URLs listar_livros(request) <ul> {% for livro in livros %} Model: classe Livro <li>{{ livro.titulo }}</li> {% endfor %} </ul>
  27. 27. GET /livros livros.html Módulo de URLs listar_livros(request) Model: classe Livro
  28. 28. Cliente (browser) Template URL View Model Banco de dados
  29. 29. E mais...
  30. 30. E mais... 6 linhas de código Python.
  31. 31. E mais... 6 linhas de código Python. 5 linhas de html/template.
  32. 32. E mais... SQL? 6 linhas de código Python. 5 linhas de html/template.
  33. 33. Amazing!!!
  34. 34. Amazing!!! Asombroso!!! Surpreendente!!! i18n
  35. 35. Autenticação
  36. 36. @login_required def listar_livros(request): livros = Livro.objects.all() return render_to_response('livros.html', locals()) Autenticação
  37. 37. Controle de permissão
  38. 38. Controle de permissão @permission_required('livros.pode_listar') def listar_livros(request): livros = Livro.objects.all() return render_to_response('livros.html', locals())
  39. 39. Django Forms
  40. 40. class LivroForm(Form): titulo = CharField(max_length = 100) Django Forms
  41. 41. class LivroForm(Form): titulo = CharField(max_length = 100) class Livro(Model): titulo = CharField(max_length = 100) Django Forms
  42. 42. class LivroForm(ModelForm): class Meta: model = Livro Django Forms
  43. 43. 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) Django Forms
  44. 44. 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? Django Forms
  45. 45. Tá de class LivroForm(ModelForm): sacanagem?! Meta: class 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? Django Forms
  46. 46. class PessoaForm(Form): nome = CharField(max_length = 100) cpf = CPFField() telefone = BRPhoneField() L10n
  47. 47. class PessoaForm(Form): nome = CharField(max_length = 100) cpf = CPFField() telefone = BRPhoneField() L10n
  48. 48. 1 /2
  49. 49. 2 /2
  50. 50. Da pra fazer melhor?
  51. 51. Django admin
  52. 52. class Livro(Model): titulo = CharField(max_length = 100)
  53. 53. class Livro(Model): titulo = CharField(max_length = 100) admin.site.register(Livro)
  54. 54. class Livro(Model): titulo = CharField(max_length = 100) admin.site.register(Livro) (r'^admin/', include(admin.site.urls)),
  55. 55. class Livro(Model): titulo = CharField(max_length = 100) admin.site.register(Livro) (r'^admin/', include(admin.site.urls)), Resultado?
  56. 56. 4
  57. 57. Merece a dancinha
  58. 58. Tem mais?
  59. 59. Tem Paginação mais? Views genéricas Feeds Mensagens CSRF Signals Testes automatizados [...]
  60. 60. Algumas considerações
  61. 61. Eu não sei Python
  62. 62. Onde e como hospedar?
  63. 63. E agora?
  64. 64. www.djangoproject.com
  65. 65. www.djangobrasil.org
  66. 66. www.aprendendodjango.com
  67. 67. www.djangosites.org
  68. 68. groups.google.com/group/django-brasil
  69. 69. www.djangovideos.com
  70. 70. ? /∞
  71. 71. Django O framework web para perfeccionistas com prazos @franciscosouza francisco@franciscosouza.net

×