Introdução ao framework Django
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Introdução ao framework Django

on

  • 2,118 views

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

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

Statistics

Views

Total Views
2,118
Views on SlideShare
2,118
Embed Views
0

Actions

Likes
1
Downloads
68
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Introdução ao framework Django Presentation Transcript

  • 1. Framework para desenvolvimento Web Eduardo Palma
  • 2. django?
    • Framework open source para aplicações web
    • Padrão de arquitetura MVC
    • Escrito em python
  • 3. python?
    • Linguagem de programação multiparadigma de alto nível
    • Multiplataforma
    • Open source
    • Interpretada
    • Tipagem dinâmica
    • Filosofia enfatiza a facilidade de leitura
    • Identação é importante
  • 4. python
    • Criada por Guido van Rossum
    • Primeira versão em 1991
    • Inpirada na linguagem ABC
    • Originalmente desenvolvida para o
    • S.O. Amoeba criado por
    • Andrew S. Tanenbaum
    • Atualmente na versão 3.1
  • 5. Hello World # programa em python print ' Hello World! '
  • 6. Identação #imprime de 101 a 110 for numero in range(1,11): soma = 100 + numero print soma print 'Fim'
  • 7. Quem usa python?
  • 8. django
    • Criado em 2003 por desenvolvedores do jornal Lawrence Journal-World
    • Filosofia de desenvolvimento rápido para um ambiente com prazos apertados
    • Código limpo e manutenível
    • Primeira versão pública lançada em 2005
  • 9. Django Reinhardt
  • 10. Objetivo
    • Desenvolvimento de aplicações web complexas movidas a bancos de dados
    • Enfatiza o reuso e a modularidade de componentes
    • Segue o princípio DRY (Don’t Repeat Yourself)
    • Utiliza python para tudo, tanto para a lógica, configurações e modelos de dados
  • 11. Desempenho
  • 12. Arquitetura
    • Componente de mapeamento objeto-relacional
    • URL dispatcher baseado em expressões regulares
    • Sistema de Views para processamento de requisições
    • Sistema de Templates para criação das páginas
  • 13. Instalação
    • Depois de baixar e descompactar o django:
    • C:django>python setup.py install
    • Para criar um projeto:
    • C:>django-admin.py startproject meuprojeto
    • Para criar uma aplicação:
    • C:meuprojeto>python manage.py startapp meusite
  • 14. Servidor para desenvolvimento
  • 15. Admin
  • 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)
    • Um model é uma classe que herda da classe models.Model
    • Cada classe é uma tabela no banco de dados
    • Cada propriedade desta classe é uma coluna desta tabela
    • Faz o mapeamento objeto-relacional
  • 17. View
    • As views são funções responsáveis pelo processamento de requisições
    • Retornam valores para a template (página html)
    • Cada view responde à uma URL específica
    def pagina_principal(request): return HttpResponse( ' Hello, World! ' )
  • 18. URL dispatcher
    • Faz o mapeamento entre URLs e views
    • Utiliza expressões regulares para capturar diferentes padrões de URL facilmente
    • Permite a captura de um número ilimitado de parâmetros na URL, de forma anônima ou nomeada
    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. Template
    • Produz a página HTML final
    • Utiliza uma linguagem de marcação própria
    • Possui tags extensíveis tanto para construções lógicas como para a formatação visual dos dados
    • Recebe dados da view e os utiliza para montar a página
    <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. Settings
    • Arquivo central que mantém todas as configurações de uma aplicação django
    • Utiliza python ao invés de uma sintaxe própria
    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'