Академический Документы
Профессиональный Документы
Культура Документы
Eduardo Steiner
eduardo.steiner@gmail.com
Origem
Django é um framework de desenvolvimento
rápido para web, escrito em Python, que utiliza
o padrão MVC (modelviewcontroller). Foi
criado originalmente como sistema para
gerenciar um site jornalístico na cidade de
Lawrence, no Kansas. Tornouse um projeto de
código aberto e foi publicado
sob a licença BSD em 2005.
O nome Django foi
inspirado no músico
de jazz Django Reinhardt.
DRY
● Django utiliza o princípio DRY (Don't Repeat
Yourself), que busca reduzir a duplicação e
repetição de código, e aumentar o
reaproveitamento do código.
O padrão MVC (modelviewcontroller)
● Separa a aplicação web em 3 camadas:
– Dados
– Visão
– Controle
Projeto x Aplicação
Projeto x Aplicação
● Uma app é uma aplicação web que faz algo.
Ex: sistema de notícias, enquetes, cadastro de
usuários.
● Um projeto é uma coleção e configuração de
app para um site em particular. Um projeto
pode contar várias apps e uma app pode estar
contida em vários projetos.
Comando para criar projetos
● Projeto: djangoadmin.py startproject meuprojeto
– Irá criar um diretório, contendo 4 arquivos:
● __init__.py > Um arquivo vazio que diz ao python que esse
diretório deve ser considerado como um pacote Python.
● manage.py > Um utilitário de linha de comando que permite
a você interagir com esse projeto de várias maneiras.
● settings.py > Definições/configuração para esse projeto.
● urls.py > As declarações de URLs para esse projeto;
uma "tabela de conteúdos" para o seu site movido a Django.
Comando para criar aplicações
● Aplicação: python manage.py startapp contatos
– O comando deve ser dado dentro do diretório do
projeto, e ao se executá-lo será criado um diretório com
o nome da aplicação contendo 3 arquivos:
● __init__.py > Um arquivo vazio que diz ao python
que esse diretório deve ser considerado como um
pacote Python.
● models.py > Modelo. Responsável pelos dados da
aplicação
● views.py > Visão. Responsável pela interface da
aplicação.
Linguagem de templates
Linguagem de templates
A linguagem de template do Django foi
designada para estabelecer um equilíbrio entre
poder e facilidade. Ele foi criada para ser
confortável para aqueles que trabalham com
HTML sem perder o flexibilidade no tratamento
das respostas para a aplicação.
Linguagem de templates
● Template
– O template é um arquivo texto simples. Ele pode
gerar um arquivo baseado em texto formatado
(HTML, XML, CSV, etc.).
– O template contem variáveis, quando o template é
avaliado essas variáveis são substituídas por
valores, e tags que controlam a lógica do template.
Linguagem de templates
● Exemplo (listar os nomes de contatos):
{% for contato in contatos %}
{{ contato.nome }}
{% endfor %}
Mapeamento objeto relacional
Mapeamento ObjetoRelacional
● Os dados são definidos através de uma classe
em Python
● Há uma API rica e dinâmica para manipulação
de dados
● Mas também é possível utilizar SQL
Mapeamento ObjetoRelacional
from django.db import models
class Contatos(models.Model):
nome = models.CharField(maxlength=200)
telefone = models.CharField(maxlength=200)
Criação das tabelas no seu BD
● Para criar as tabelas no seu banco de dados,
você deve rodar o camando:
python manage.py syncdb
Interface de Administração
Interface de Administração
● Devese configurar o settings.py
● Devese adicionar a url de administração na url.py
● Devese adicionar a classe Admin, no models.py
da aplicação que se deseja “administrar”
class Contatos(models.Model):
(...)
class Admin:
pass
(...)
Interface de Administração
Servidor de desenvolvimento
● Django vem com um servidor de
desenvolvimento portanto, é possível se
desenvolver coisas rapidamente, sem ter que
lidar com a configuração de um servidor web
de produção como o Apache até que você
esteja pronto para a produção.
Servidor de desenvolvimento
● Para rodar o servidor de desenvolvimento:
python manage.py runserver
O que mais?
● É possível desenvolvimer guiado a testes
(Testes documentais (doctest), e Testes de
unidade (unittest))
● Django tem suporte para aplicações multi
linguagens
● Biblioteca de manipulações de formulários
(newsForm)
● URLs dos sites são organizadas e elegantes
● Possibilidade de criar sites com feeds,
autenticação, site maps
Links
● www.djangoproject.com
● www.djangobrasil.org
● www.djangobook.com
Fontes
● www.djangoproject.com
● www.djangobrasil.org
● www.djangobook.com
● www.andrewsmedina.com
● http://rfdev.org/2008/02/16/djangotemplateseditad
● Wikipedia
FIM
Site: http://pet.inf.ufsc.br
Email: pet@inf.ufsc.br