Introdução ao framework Django

  • 1,721 views
Uploaded on

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,721
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
73
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

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'