SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
Criando Websites a
             Jato com




Marcos Daniel Petry   http://mdpetry.net   27/09/2008
O que é?
   ●   Django é um framework web de alto nível
       escrito em Python que estimula o
       desenvolvimento rápido e limpo
   ●   Open Source (BSD)
   ●   Desenvolvido pela Lawrence Journal de Kansas
        ● Criado para ser um gerenciador de notícias

        ● Publicado em 2005




Marcos Daniel Petry      http://mdpetry.net        27/09/2008
Python?
   ●   O que é
       ● interpretada

       ● altíssimo nível

       ● multiparadigma (OO, funcional, procedural)

       ● multiplataforma

       ● tipagem dinâmica e forte

       ● coletor de lixo

       ● código limpo

       ● fácil de aprender




Marcos Daniel Petry      http://mdpetry.net           27/09/2008
Como funciona...
   ●   Dividido em Projetos e aplicações
   ●   Uma aplicação/website é um projeto
   ●   Um projeto tem uma ou várias aplicações
       ● Gerenciador de Noticias

       ● Blog

       ● Galeria de imagens

       ● Fórum

       ● etc...




Marcos Daniel Petry     http://mdpetry.net       27/09/2008
Características
   ●   URL's elegantes
   ●   Utiliza MVC (Model/View/Controller)
   ●   DRY (Don't Repeat Yourself)
   ●   Mapeamento Objeto Relacional (ORM)
   ●   Pacote Completo
       ●   Interface Administrativa
       ●   Autenticação de Usuários
       ●   Templates
       ●   Internacionalização
       ●   etc...




Marcos Daniel Petry                   http://mdpetry.net   27/09/2008
MVC?? Não!
   ●   Model
       ●   Django ORM
   ●   Templates
       ●   Sistema de templates
   ●   Views
       ●   Funções Python e requisições de entrada

  ●URL's baseadas em Expressões regulares


Marcos Daniel Petry        http://mdpetry.net        27/09/2008
Em outras palavras...
   ●   Model
        ● É a camada de ”persistência”, é de onde os


          dados da aplicação vêm e nele que são
          gravados.
   ●   Views
        ● A view recebe parâmetros da url, e manipula


          os dados (geralmente recebidos pelo model)
   ●   Templates
        ● Os dados passados das views são enviados


          para os templates que deixa tudo ”mais
          bonitinho”


Marcos Daniel Petry      http://mdpetry.net         27/09/2008
Como a coisa Funciona...




Marcos Daniel Petry   http://mdpetry.net   27/09/2008
Urs's Elegantes
   ●   Você decide qual url o site terá
        ● Cada aplicação tem sua lista específica de urls

        ● Usando Expressões regulares

        ● Caso não haja nenhum url, um erro 404 é


          exibido




Marcos Daniel Petry       http://mdpetry.net          27/09/2008
Model




Marcos Daniel Petry   http://mdpetry.net   27/09/2008
View




Marcos Daniel Petry   http://mdpetry.net   27/09/2008
Template




Marcos Daniel Petry   http://mdpetry.net   27/09/2008
Ainda mais...
  •Forms
  •Widgets
  •Generic Views
  •Paginação
  •E vários projetos por ai...




Marcos Daniel Petry     http://mdpetry.net   27/09/2008
O Admin




Marcos Daniel Petry   http://mdpetry.net   27/09/2008
O Admin




Marcos Daniel Petry   http://mdpetry.net   27/09/2008
Quem usa?




Marcos Daniel Petry   http://mdpetry.net   27/09/2008
Por onde começo??
  •Sites
            http://www.djangoproject.com
                ●

          ● http://www.djangobrasil.org/


  •Listas de Discussão no Google
          ● django-users

          ● django-brasil


  •Outros Lugares
          ● http://djangopeople.net/

          ● http://djangoplugables.com/




Marcos Daniel Petry   http://mdpetry.net   27/09/2008
Perguntas?
  •email/gtalk
          ● marcospetry@gmail.com


  •Blog
          ● http://mdpetry.net


  •Palestra
          ● http://www.slideshare.net/mdpetry




                Obrigado!


Marcos Daniel Petry    http://mdpetry.net       27/09/2008

Contenu connexe

Tendances

Django para desenvolvimento web; porque ser repetitivo é chato.
Django para desenvolvimento web; porque ser repetitivo é chato.Django para desenvolvimento web; porque ser repetitivo é chato.
Django para desenvolvimento web; porque ser repetitivo é chato.Arthur Furlan
 
Desenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi BuilderDesenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi BuilderDaniel Paz
 
Boas práticas de django
Boas práticas de djangoBoas práticas de django
Boas práticas de djangoFilipe Ximenes
 
Os 10 maus hábitos dos desenvolvedores JSF
Os 10 maus hábitos dos desenvolvedores JSFOs 10 maus hábitos dos desenvolvedores JSF
Os 10 maus hábitos dos desenvolvedores JSFRafael Ponte
 
Começando com Zend Framework 2
Começando com Zend Framework 2Começando com Zend Framework 2
Começando com Zend Framework 2Cezar Souza
 
Desenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyDesenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyRelsi Maron
 
Django Tem Ritmo
Django Tem RitmoDjango Tem Ritmo
Django Tem Ritmoitalomaia
 
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2Cezar Souza
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScriptCarlos Eduardo Kadu
 
Desenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo ToolkitDesenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo ToolkitFlávio Lisboa
 
DOMinando JavaScript
DOMinando JavaScriptDOMinando JavaScript
DOMinando JavaScriptThiago Poiani
 
Desafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFDesafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFRafael Ponte
 
Zend Framework 1.11
Zend Framework 1.11Zend Framework 1.11
Zend Framework 1.11Cezar Souza
 
Migrations for Java (Javou #4 - JavaCE)
Migrations for Java (Javou #4 - JavaCE)Migrations for Java (Javou #4 - JavaCE)
Migrations for Java (Javou #4 - JavaCE)Rafael Ponte
 
Desmitificando as aplicações RESTFul usando Django Rest Framework
Desmitificando as aplicações RESTFul usando Django Rest FrameworkDesmitificando as aplicações RESTFul usando Django Rest Framework
Desmitificando as aplicações RESTFul usando Django Rest FrameworkBruno Oliveira
 
Minicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonMinicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonGuilherme Garcia
 
Javascript levado a serio
Javascript levado a serioJavascript levado a serio
Javascript levado a serioJaydson Gomes
 

Tendances (20)

Django para desenvolvimento web; porque ser repetitivo é chato.
Django para desenvolvimento web; porque ser repetitivo é chato.Django para desenvolvimento web; porque ser repetitivo é chato.
Django para desenvolvimento web; porque ser repetitivo é chato.
 
Desenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi BuilderDesenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi Builder
 
Python na Web
Python na WebPython na Web
Python na Web
 
Boas práticas de django
Boas práticas de djangoBoas práticas de django
Boas práticas de django
 
Os 10 maus hábitos dos desenvolvedores JSF
Os 10 maus hábitos dos desenvolvedores JSFOs 10 maus hábitos dos desenvolvedores JSF
Os 10 maus hábitos dos desenvolvedores JSF
 
Começando com Zend Framework 2
Começando com Zend Framework 2Começando com Zend Framework 2
Começando com Zend Framework 2
 
Javascript aula 01 - visão geral
Javascript   aula 01 - visão geralJavascript   aula 01 - visão geral
Javascript aula 01 - visão geral
 
Desenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyDesenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2py
 
Mean Stack
Mean StackMean Stack
Mean Stack
 
Django Tem Ritmo
Django Tem RitmoDjango Tem Ritmo
Django Tem Ritmo
 
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Desenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo ToolkitDesenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo Toolkit
 
DOMinando JavaScript
DOMinando JavaScriptDOMinando JavaScript
DOMinando JavaScript
 
Desafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFDesafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSF
 
Zend Framework 1.11
Zend Framework 1.11Zend Framework 1.11
Zend Framework 1.11
 
Migrations for Java (Javou #4 - JavaCE)
Migrations for Java (Javou #4 - JavaCE)Migrations for Java (Javou #4 - JavaCE)
Migrations for Java (Javou #4 - JavaCE)
 
Desmitificando as aplicações RESTFul usando Django Rest Framework
Desmitificando as aplicações RESTFul usando Django Rest FrameworkDesmitificando as aplicações RESTFul usando Django Rest Framework
Desmitificando as aplicações RESTFul usando Django Rest Framework
 
Minicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonMinicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e Python
 
Javascript levado a serio
Javascript levado a serioJavascript levado a serio
Javascript levado a serio
 

En vedette

Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + PythonMateus Padua
 
Desenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyDesenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyGilson Filho
 
Persistência de Objetos em Java
Persistência de Objetos em JavaPersistência de Objetos em Java
Persistência de Objetos em Javaarmeniocardoso
 
Python mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internetPython mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internetMarcos Petry
 
Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Felipe Queiroz
 
Desenvolvimento ágil do jeito certo
Desenvolvimento ágil do jeito certoDesenvolvimento ágil do jeito certo
Desenvolvimento ágil do jeito certoMarcos Petry
 
SaaSy maps - using django-tenants and geodjango to provide web-gis software-a...
SaaSy maps - using django-tenants and geodjango to provide web-gis software-a...SaaSy maps - using django-tenants and geodjango to provide web-gis software-a...
SaaSy maps - using django-tenants and geodjango to provide web-gis software-a...Anusha Chickermane
 
Django & Python Case Studies
  Django & Python Case Studies  Django & Python Case Studies
Django & Python Case StudiesLeo TechnoSoft
 
2016: Introdução à Mineração de Dados: Conceitos Básicos, Algoritmos e Aplica...
2016: Introdução à Mineração de Dados: Conceitos Básicos, Algoritmos e Aplica...2016: Introdução à Mineração de Dados: Conceitos Básicos, Algoritmos e Aplica...
2016: Introdução à Mineração de Dados: Conceitos Básicos, Algoritmos e Aplica...Leandro de Castro
 
Introdução ao Data Warehouse
Introdução ao Data WarehouseIntrodução ao Data Warehouse
Introdução ao Data WarehouseMessias Batista
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.comricobl
 
¿Porqué Python? ...y Django
¿Porqué Python? ...y Django¿Porqué Python? ...y Django
¿Porqué Python? ...y DjangoAntonio Ognio
 
Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3Marcel Caraciolo
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with DataSeth Familian
 

En vedette (17)

Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + Python
 
Desenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyDesenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2py
 
Persistência de Objetos em Java
Persistência de Objetos em JavaPersistência de Objetos em Java
Persistência de Objetos em Java
 
Trabalhando com as views do Web2Py
Trabalhando com as views do Web2PyTrabalhando com as views do Web2Py
Trabalhando com as views do Web2Py
 
Django
DjangoDjango
Django
 
Python mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internetPython mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internet
 
Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!
 
Desenvolvimento ágil do jeito certo
Desenvolvimento ágil do jeito certoDesenvolvimento ágil do jeito certo
Desenvolvimento ágil do jeito certo
 
SaaSy maps - using django-tenants and geodjango to provide web-gis software-a...
SaaSy maps - using django-tenants and geodjango to provide web-gis software-a...SaaSy maps - using django-tenants and geodjango to provide web-gis software-a...
SaaSy maps - using django-tenants and geodjango to provide web-gis software-a...
 
Django & Python Case Studies
  Django & Python Case Studies  Django & Python Case Studies
Django & Python Case Studies
 
2016: Introdução à Mineração de Dados: Conceitos Básicos, Algoritmos e Aplica...
2016: Introdução à Mineração de Dados: Conceitos Básicos, Algoritmos e Aplica...2016: Introdução à Mineração de Dados: Conceitos Básicos, Algoritmos e Aplica...
2016: Introdução à Mineração de Dados: Conceitos Básicos, Algoritmos e Aplica...
 
Introdução ao Data Warehouse
Introdução ao Data WarehouseIntrodução ao Data Warehouse
Introdução ao Data Warehouse
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.com
 
Curso de Python e Django
Curso de Python e DjangoCurso de Python e Django
Curso de Python e Django
 
¿Porqué Python? ...y Django
¿Porqué Python? ...y Django¿Porqué Python? ...y Django
¿Porqué Python? ...y Django
 
Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 

Similaire à Criando websites a jato com Django

Criando Websites a Jato com Django - Marcos Daniel Petry
Criando Websites a Jato com Django - Marcos Daniel PetryCriando Websites a Jato com Django - Marcos Daniel Petry
Criando Websites a Jato com Django - Marcos Daniel PetryTchelinux
 
Desenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoDesenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoIgor Sobreira
 
Workshop Django Framework - 30/10/2018
Workshop Django Framework - 30/10/2018Workshop Django Framework - 30/10/2018
Workshop Django Framework - 30/10/2018Rafael Sales Pavarina
 
Introdução ao Asp.Net Mvc
Introdução ao Asp.Net MvcIntrodução ao Asp.Net Mvc
Introdução ao Asp.Net MvcGiovanni Bassi
 
Ruby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkRuby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkGuilherme Carlos
 
Evolução das arquiteturas para aplicações Web
Evolução das arquiteturas para aplicações WebEvolução das arquiteturas para aplicações Web
Evolução das arquiteturas para aplicações WebBreno Vitorino
 
Melhorando a performance de aplicações com o uso do MemCache
Melhorando a performance de aplicações com o uso do MemCacheMelhorando a performance de aplicações com o uso do MemCache
Melhorando a performance de aplicações com o uso do MemCacheElton Minetto
 
Desenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHPDesenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHPelliando dias
 
Web 2.0 e AJAX - Parte 1 / 3
Web 2.0 e AJAX - Parte 1 / 3Web 2.0 e AJAX - Parte 1 / 3
Web 2.0 e AJAX - Parte 1 / 3David Ruiz
 
Extração Automatizada de Dados da Web com Selenium WebDriver - Web Scraping -...
Extração Automatizada de Dados da Web com Selenium WebDriver - Web Scraping -...Extração Automatizada de Dados da Web com Selenium WebDriver - Web Scraping -...
Extração Automatizada de Dados da Web com Selenium WebDriver - Web Scraping -...Renato Groff
 
Arquitetura de aplicações Web 2.0 em Java
Arquitetura de aplicações Web 2.0 em JavaArquitetura de aplicações Web 2.0 em Java
Arquitetura de aplicações Web 2.0 em JavaBreno Vitorino
 
XML Free Programming - Brazil
XML Free Programming - BrazilXML Free Programming - Brazil
XML Free Programming - BrazilStephen Chin
 
Apresentação do V Workshop Demoiselle
Apresentação do V Workshop DemoiselleApresentação do V Workshop Demoiselle
Apresentação do V Workshop DemoiselleEmerson Saito
 
Componentizando a Web com Polymer
Componentizando a Web com PolymerComponentizando a Web com Polymer
Componentizando a Web com PolymerStefan Horochovec
 
O que todos os developers devem saber sobre seo
O que todos os developers devem saber sobre seoO que todos os developers devem saber sobre seo
O que todos os developers devem saber sobre seointrofini
 
I BootCamp SMO - RubyOnRails
I BootCamp SMO - RubyOnRailsI BootCamp SMO - RubyOnRails
I BootCamp SMO - RubyOnRailsMarcelo Júnior
 
Mapa de aprendizado Front End
Mapa de aprendizado Front EndMapa de aprendizado Front End
Mapa de aprendizado Front EndCaio Vaccaro
 
Conhecendo o Nodejs
Conhecendo o NodejsConhecendo o Nodejs
Conhecendo o NodejsCaio Cutrim
 

Similaire à Criando websites a jato com Django (20)

Criando Websites a Jato com Django - Marcos Daniel Petry
Criando Websites a Jato com Django - Marcos Daniel PetryCriando Websites a Jato com Django - Marcos Daniel Petry
Criando Websites a Jato com Django - Marcos Daniel Petry
 
Desenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoDesenvolvimento web ágil com Django
Desenvolvimento web ágil com Django
 
Workshop Django Framework - 30/10/2018
Workshop Django Framework - 30/10/2018Workshop Django Framework - 30/10/2018
Workshop Django Framework - 30/10/2018
 
Introdução ao Asp.Net Mvc
Introdução ao Asp.Net MvcIntrodução ao Asp.Net Mvc
Introdução ao Asp.Net Mvc
 
Ruby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkRuby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao Framework
 
Evolução das arquiteturas para aplicações Web
Evolução das arquiteturas para aplicações WebEvolução das arquiteturas para aplicações Web
Evolução das arquiteturas para aplicações Web
 
Melhorando a performance de aplicações com o uso do MemCache
Melhorando a performance de aplicações com o uso do MemCacheMelhorando a performance de aplicações com o uso do MemCache
Melhorando a performance de aplicações com o uso do MemCache
 
Desenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHPDesenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHP
 
Web 2.0 e AJAX - Parte 1 / 3
Web 2.0 e AJAX - Parte 1 / 3Web 2.0 e AJAX - Parte 1 / 3
Web 2.0 e AJAX - Parte 1 / 3
 
Extração Automatizada de Dados da Web com Selenium WebDriver - Web Scraping -...
Extração Automatizada de Dados da Web com Selenium WebDriver - Web Scraping -...Extração Automatizada de Dados da Web com Selenium WebDriver - Web Scraping -...
Extração Automatizada de Dados da Web com Selenium WebDriver - Web Scraping -...
 
Arquitetura de aplicações Web 2.0 em Java
Arquitetura de aplicações Web 2.0 em JavaArquitetura de aplicações Web 2.0 em Java
Arquitetura de aplicações Web 2.0 em Java
 
XML Free Programming - Brazil
XML Free Programming - BrazilXML Free Programming - Brazil
XML Free Programming - Brazil
 
Apresentação do V Workshop Demoiselle
Apresentação do V Workshop DemoiselleApresentação do V Workshop Demoiselle
Apresentação do V Workshop Demoiselle
 
Componentizando a Web com Polymer
Componentizando a Web com PolymerComponentizando a Web com Polymer
Componentizando a Web com Polymer
 
O que todos os developers devem saber sobre seo
O que todos os developers devem saber sobre seoO que todos os developers devem saber sobre seo
O que todos os developers devem saber sobre seo
 
I BootCamp SMO - RubyOnRails
I BootCamp SMO - RubyOnRailsI BootCamp SMO - RubyOnRails
I BootCamp SMO - RubyOnRails
 
Web open source
Web open sourceWeb open source
Web open source
 
Mapa de aprendizado Front End
Mapa de aprendizado Front EndMapa de aprendizado Front End
Mapa de aprendizado Front End
 
Framework web 01 - Aula UTFPR 2018
Framework web 01 - Aula UTFPR 2018Framework web 01 - Aula UTFPR 2018
Framework web 01 - Aula UTFPR 2018
 
Conhecendo o Nodejs
Conhecendo o NodejsConhecendo o Nodejs
Conhecendo o Nodejs
 

Criando websites a jato com Django

  • 1. Criando Websites a Jato com Marcos Daniel Petry http://mdpetry.net 27/09/2008
  • 2. O que é? ● Django é um framework web de alto nível escrito em Python que estimula o desenvolvimento rápido e limpo ● Open Source (BSD) ● Desenvolvido pela Lawrence Journal de Kansas ● Criado para ser um gerenciador de notícias ● Publicado em 2005 Marcos Daniel Petry http://mdpetry.net 27/09/2008
  • 3. Python? ● O que é ● interpretada ● altíssimo nível ● multiparadigma (OO, funcional, procedural) ● multiplataforma ● tipagem dinâmica e forte ● coletor de lixo ● código limpo ● fácil de aprender Marcos Daniel Petry http://mdpetry.net 27/09/2008
  • 4. Como funciona... ● Dividido em Projetos e aplicações ● Uma aplicação/website é um projeto ● Um projeto tem uma ou várias aplicações ● Gerenciador de Noticias ● Blog ● Galeria de imagens ● Fórum ● etc... Marcos Daniel Petry http://mdpetry.net 27/09/2008
  • 5. Características ● URL's elegantes ● Utiliza MVC (Model/View/Controller) ● DRY (Don't Repeat Yourself) ● Mapeamento Objeto Relacional (ORM) ● Pacote Completo ● Interface Administrativa ● Autenticação de Usuários ● Templates ● Internacionalização ● etc... Marcos Daniel Petry http://mdpetry.net 27/09/2008
  • 6. MVC?? Não! ● Model ● Django ORM ● Templates ● Sistema de templates ● Views ● Funções Python e requisições de entrada ●URL's baseadas em Expressões regulares Marcos Daniel Petry http://mdpetry.net 27/09/2008
  • 7. Em outras palavras... ● Model ● É a camada de ”persistência”, é de onde os dados da aplicação vêm e nele que são gravados. ● Views ● A view recebe parâmetros da url, e manipula os dados (geralmente recebidos pelo model) ● Templates ● Os dados passados das views são enviados para os templates que deixa tudo ”mais bonitinho” Marcos Daniel Petry http://mdpetry.net 27/09/2008
  • 8. Como a coisa Funciona... Marcos Daniel Petry http://mdpetry.net 27/09/2008
  • 9. Urs's Elegantes ● Você decide qual url o site terá ● Cada aplicação tem sua lista específica de urls ● Usando Expressões regulares ● Caso não haja nenhum url, um erro 404 é exibido Marcos Daniel Petry http://mdpetry.net 27/09/2008
  • 10. Model Marcos Daniel Petry http://mdpetry.net 27/09/2008
  • 11. View Marcos Daniel Petry http://mdpetry.net 27/09/2008
  • 12. Template Marcos Daniel Petry http://mdpetry.net 27/09/2008
  • 13. Ainda mais... •Forms •Widgets •Generic Views •Paginação •E vários projetos por ai... Marcos Daniel Petry http://mdpetry.net 27/09/2008
  • 14. O Admin Marcos Daniel Petry http://mdpetry.net 27/09/2008
  • 15. O Admin Marcos Daniel Petry http://mdpetry.net 27/09/2008
  • 16. Quem usa? Marcos Daniel Petry http://mdpetry.net 27/09/2008
  • 17. Por onde começo?? •Sites http://www.djangoproject.com ● ● http://www.djangobrasil.org/ •Listas de Discussão no Google ● django-users ● django-brasil •Outros Lugares ● http://djangopeople.net/ ● http://djangoplugables.com/ Marcos Daniel Petry http://mdpetry.net 27/09/2008
  • 18. Perguntas? •email/gtalk ● marcospetry@gmail.com •Blog ● http://mdpetry.net •Palestra ● http://www.slideshare.net/mdpetry Obrigado! Marcos Daniel Petry http://mdpetry.net 27/09/2008