Framework para desenvolvimento Web Eduardo Palma
django? <ul><li>Framework open source para aplicações web </li></ul><ul><li>Padrão de arquitetura MVC </li></ul><ul><li>Es...
python? <ul><li>Linguagem de programação multiparadigma de alto nível </li></ul><ul><li>Multiplataforma </li></ul><ul><li>...
python <ul><li>Criada por Guido van Rossum </li></ul><ul><li>Primeira versão em 1991 </li></ul><ul><li>Inpirada na linguag...
Hello World # programa em python print  ' Hello World! '
Identação #imprime de 101 a 110 for numero in range(1,11): soma = 100 + numero print soma print 'Fim'
Quem usa python?
django <ul><li>Criado em 2003 por desenvolvedores do jornal Lawrence Journal-World </li></ul><ul><li>Filosofia de desenvol...
Django  Reinhardt
Objetivo <ul><li>Desenvolvimento de aplicações web complexas movidas a bancos de dados </li></ul><ul><li>Enfatiza o reuso ...
Desempenho
Arquitetura <ul><li>Componente de mapeamento objeto-relacional </li></ul><ul><li>URL dispatcher baseado em expressões regu...
Instalação <ul><li>Depois de baixar e descompactar o django: </li></ul><ul><li>C:django>python setup.py install </li></ul>...
Servidor para desenvolvimento
Admin
Model from django.db import models  class Pessoa(models.Model): nome =  models.CharField(max_length=30) sobrenome =  model...
View <ul><li>As views são funções responsáveis pelo processamento de requisições </li></ul><ul><li>Retornam valores para a...
URL dispatcher <ul><li>Faz o mapeamento entre URLs e views </li></ul><ul><li>Utiliza expressões regulares para capturar di...
Template <ul><li>Produz a página HTML final </li></ul><ul><li>Utiliza uma linguagem de marcação própria </li></ul><ul><li>...
Settings <ul><li>Arquivo central que mantém todas as configurações de uma aplicação django </li></ul><ul><li>Utiliza pytho...
Upcoming SlideShare
Loading in...5
×

Introdução ao framework Django

1,835

Published on

Seminário introdutório sobre Django com uma breve descrição de Python

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,835
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
76
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Introdução ao framework Django

  1. 1. Framework para desenvolvimento Web Eduardo Palma
  2. 2. django? <ul><li>Framework open source para aplicações web </li></ul><ul><li>Padrão de arquitetura MVC </li></ul><ul><li>Escrito em python </li></ul>
  3. 3. python? <ul><li>Linguagem de programação multiparadigma de alto nível </li></ul><ul><li>Multiplataforma </li></ul><ul><li>Open source </li></ul><ul><li>Interpretada </li></ul><ul><li>Tipagem dinâmica </li></ul><ul><li>Filosofia enfatiza a facilidade de leitura </li></ul><ul><li>Identação é importante </li></ul>
  4. 4. python <ul><li>Criada por Guido van Rossum </li></ul><ul><li>Primeira versão em 1991 </li></ul><ul><li>Inpirada na linguagem ABC </li></ul><ul><li>Originalmente desenvolvida para o </li></ul><ul><li>S.O. Amoeba criado por </li></ul><ul><li>Andrew S. Tanenbaum </li></ul><ul><li>Atualmente na versão 3.1 </li></ul>
  5. 5. Hello World # programa em python print ' Hello World! '
  6. 6. Identação #imprime de 101 a 110 for numero in range(1,11): soma = 100 + numero print soma print 'Fim'
  7. 7. Quem usa python?
  8. 8. django <ul><li>Criado em 2003 por desenvolvedores do jornal Lawrence Journal-World </li></ul><ul><li>Filosofia de desenvolvimento rápido para um ambiente com prazos apertados </li></ul><ul><li>Código limpo e manutenível </li></ul><ul><li>Primeira versão pública lançada em 2005 </li></ul>
  9. 9. Django Reinhardt
  10. 10. Objetivo <ul><li>Desenvolvimento de aplicações web complexas movidas a bancos de dados </li></ul><ul><li>Enfatiza o reuso e a modularidade de componentes </li></ul><ul><li>Segue o princípio DRY (Don’t Repeat Yourself) </li></ul><ul><li>Utiliza python para tudo, tanto para a lógica, configurações e modelos de dados </li></ul>
  11. 11. Desempenho
  12. 12. Arquitetura <ul><li>Componente de mapeamento objeto-relacional </li></ul><ul><li>URL dispatcher baseado em expressões regulares </li></ul><ul><li>Sistema de Views para processamento de requisições </li></ul><ul><li>Sistema de Templates para criação das páginas </li></ul>
  13. 13. Instalação <ul><li>Depois de baixar e descompactar o django: </li></ul><ul><li>C:django>python setup.py install </li></ul><ul><li>Para criar um projeto: </li></ul><ul><li>C:>django-admin.py startproject meuprojeto </li></ul><ul><li>Para criar uma aplicação: </li></ul><ul><li>C:meuprojeto>python manage.py startapp meusite </li></ul>
  14. 14. Servidor para desenvolvimento
  15. 15. Admin
  16. 16. Model from django.db import models class Pessoa(models.Model): nome = models.CharField(max_length=30) sobrenome = models.CharField(max_length=30) login = models.CharField(max_length=20, unique=True) password = models.CharField(max_length=20) email = models.EmailField(max_length=60) data_cadastro = models.DateTimeField(auto_now_add=True) <ul><li>Um model é uma classe que herda da classe models.Model </li></ul><ul><li>Cada classe é uma tabela no banco de dados </li></ul><ul><li>Cada propriedade desta classe é uma coluna desta tabela </li></ul><ul><li>Faz o mapeamento objeto-relacional </li></ul>
  17. 17. View <ul><li>As views são funções responsáveis pelo processamento de requisições </li></ul><ul><li>Retornam valores para a template (página html) </li></ul><ul><li>Cada view responde à uma URL específica </li></ul>def pagina_principal(request): return HttpResponse( ' Hello, World! ' )
  18. 18. URL dispatcher <ul><li>Faz o mapeamento entre URLs e views </li></ul><ul><li>Utiliza expressões regulares para capturar diferentes padrões de URL facilmente </li></ul><ul><li>Permite a captura de um número ilimitado de parâmetros na URL, de forma anônima ou nomeada </li></ul>urlpatterns = patterns('aggregator.web.views', (r'^$', 'index'), (r'^pagina/(?P<page_num>d*)', 'main'), (r'^artigo/(?P<article_id>d+)-(w*)', 'article'), (r'^adicionar_artigo/', 'add_article'), (r'^enviar_artigo/', 'send_article'), (r'^registro/', 'register'),)
  19. 19. Template <ul><li>Produz a página HTML final </li></ul><ul><li>Utiliza uma linguagem de marcação própria </li></ul><ul><li>Possui tags extensíveis tanto para construções lógicas como para a formatação visual dos dados </li></ul><ul><li>Recebe dados da view e os utiliza para montar a página </li></ul><form action=&quot;/cadastro/&quot; method=&quot;post&quot;> {{ errors }} {% for field in form %} {{ field.errors }} {{ field.label_tag }}: <br /> {{ field }} {{ field.help_text }} {% endfor %} <input type=&quot;submit&quot; value=&quot;Registrar-se&quot; />
  20. 20. Settings <ul><li>Arquivo central que mantém todas as configurações de uma aplicação django </li></ul><ul><li>Utiliza python ao invés de uma sintaxe própria </li></ul>DEBUG = True TEMPLATE_DEBUG = DEBUG SESSION_COOKIE_AGE = 604800 DATABASE_ENGINE = 'django.db.backends.sqlite3' DATABASE_NAME = 'c:/aggregator/aggregatordb' DATABASE_USER = '' DATABASE_PASSWORD = '' LANGUAGE_CODE = 'pt-br' TIME_ZONE = 'America/Sao_Paulo'
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×