Mini curso introdutório ao Django
-
Upload
vinicius-mendes -
Category
Technology
-
view
4.321 -
download
6
description
Transcript of Mini curso introdutório ao Django
Mini-curso introdutório ao Django
MeioCódigo
Apresentação
● Mini-curso introdutório ao framework Django;● Desenvolver um blog utilizando o Django.
MeioCódigo
Quem sou eu?
● Formado em Engenharia de Computação pela UFRN;
● Estudante de Pós-Graduação em Desenvolvimento de Sistemas Corporativos na FARN;
● Desenvolvedor de sistemas com interface web;● Um dos autores do blog Meio Código:
http://www.meiocodigo.com/;● Empresário, sócio da Solucione Sistemas.
MeioCódigo
O que é Django
● Um framework web desenvolvido com a liguagem Python;
● Padrão MVC;● Ênfase em reusabilidade e plugabilidade;● Desenvolvimento ágil;● Baseado no conceito DRY;● Open source.
MeioCódigo
Funcionamento
MeioCódigo
Requisições em Django
MeioCódigo
O que é Python
● Linguagem de programação de alto nível;● Interpretada, interativa, orientada a objetos;● Tipagem dinâmica e forte;● Código legível;● Indentação obrigatória.
MeioCódigo
Criando um projeto
MeioCódigo
Tela inicial do Django
MeioCódigo
Settings
● Localize o arquivo settings.py;● Atribua as seguintes variáveis
– DATABASE_ENGINE = 'sqlite3'– DATABASE_NAME = 'meu_blog.db'
MeioCódigo
Aplicações em Django
● Fazem uma tarefa e fazem bem;● Plugabilidade;● Aplicações plugáveis desenvolvidas pela
comunidade;● http://www.djangopluggables.com/
MeioCódigo
Criando uma aplicação
$ ./manage.py startapp blog
MeioCódigo
Models
● Camada de abstração do banco de dados;● São classes que herdam de
django.db.models.Model;● Definem as entidades do sistema;● Possuem campos que representam os campos
do banco de dados;● Vários campos padrões, mas é simples criar
um novo campo.
MeioCódigo
Criando um model
MeioCódigo
Instalando a aplicação
● Abra o settings.py;● Altere a variável INSTALED_APPS para conter
a nova aplicação.
MeioCódigo
Gerando o banco de dados
MeioCódigo
Criando um superusuário
MeioCódigo
Fixtures
● Dados iniciais da aplicação;● Úteis para que a aplicação já seja funcional
mesmo após ter sido instalada.
MeioCódigo
Django Admin
● Aplicação plugável que vem por padrão no framework;
● Gera uma interface administrativa com muito pouco trabalho;
● Acelera a produtividade mas perde em flexibilidade.
MeioCódigo
Configurando o Django Admin
● Adicione a aplicação django.contrib.admin às INSTALLED_APPS;
● Localize o arquivo urls.py;● Descomente as seguintes linhas:
– # from django.contrib import admin– # admin.autodiscover()– # (r'^admin/', include(admin.site.urls)),
MeioCódigo
Registrando nosso model no Admin
● Crie um arquivo chamado admin.py dentro da pasta da aplicação blog;
● Sincronize o banco de dados.
MeioCódigo
Views
● Recebem as requisições dos usuários e retornam uma resposta a essa requisição;
● Respostas podem ser páginas HTML, imagens, documentos ou qualquer outro formato de arquivo;
MeioCódigo
Generic views
● Views genéricas disponibilizadas junto com o framework;
● Realizam ações básicas: listar, detalhar, cadastrar, editar, excluir;
MeioCódigo
Usando as generic views no blog
● Abra o arquivo urls.py da pasta do projeto e adicione o seguinte padrão à variável urlpatterns: (r'^blog/', include('blog.urls')),
● Crie um arquivo chamado urls.py dentro da pasta da aplicação blog.
MeioCódigo
Templates
● Linguagem simples para desenvolvimento de templates;
● Utiliza template tags e template filters;● Facilidade de criação de novas tags e filters;● Tag block proporciona ótima reusabilidade de
códigos de templates.
MeioCódigo
Localização dos templates
● É baseada na variável TEMPLATE_LOADERS. Default:
1.Pastas especificadas na variável TEMPLATE_DIRS do settings.py;
2.Pasta templates dentro das aplicações instaladas.
MeioCódigo
Configurando uma pasta de templates
● Crie uma pasta chamada templates na raiz do projeto;
● Abra o settings.py e adicione o seguinte código:
MeioCódigo
Criando os templates
● Criar os seguintes templates:
– base.html;– blog/artigo_list.html;– blog/artigo_detail.html.
MeioCódigo
Servindo arquivos estáticos
● Não deve ser servido pelo django, apesar de ser possível;
● settings.py
● urls.py
MeioCódigo
Adicionando mais cor ao blog
● Alterar o template base.html:
MeioCódigo
Template Context Processors
● São configurados pela variável TEMPLATE_CONTEXT_PROCESSORS do settings.py;
● Adicionam variáveis aos templates.
MeioCódigo
Autenticação - django.contrib.auth
● Aplicação plugável que é distribuída junto com o django;
● Oferece código pronto para criação de um módulo de autenticação;
● Baseada em usuários, grupos e permissões.
MeioCódigo
Adicionando auntenticação (1)
● Altere o urls.py para:
MeioCódigo
Adicionando autenticação (2)
● Adicione as seguinte linhas ao settings.py:
– LOGIN_REDIRECT_URL = '/'– LOGIN_URL = '/login/'
● Crie o template login.html;● Altere o template base.html:
MeioCódigo
Escrever, editar e excluir
● Altere o blog/urls.py para ficar assim:
MeioCódigo
Criando os templates
● Criar os seguintes templates:
– blog/artigo_form.html– blog/artigo_confirm_delete.html
● Alterar o template blog/artigo_detail.html:
● Alterar o template base.html:
MeioCódigo
django.contrib.flatpages
● Aplicação plugável que é distribuída junto com o django;
● Viabiliza a criação de páginas planas, sem conteúdo dinâmico, através de uma interface administrativa.
MeioCódigo
Configurando as FlatPages
● Adicione django.contrib.flatpages ao INSTALLED_APPS;
● Adicione django.contrib.flatpages.middleware.FlatpageFallbackMiddleware;
● Sincronize o banco de dados;● Crie o template flatpages/default.html.
MeioCódigo
Middlewares
● Possibilitam a execução de ações entre a requisição do usuário e as views.
MeioCódigo
Criando a página 'Sobre'
● Entre no admin (/admin/);● Clique no link 'Add' ao lado de 'Flat pages';● Informe os seguintes dados:
– URL: /sobre/– Title: Sobre– Conteúdo: <qualquer texto>– Sites: example.com
MeioCódigo
RSS - django.contrib.syndication
● Aplicação plugável que é distribuída juntamente com o django;
● Possibilita a geração de feeds RSS facilmente.
MeioCódigo
Configurando o Syndication
● Adicione a seguinte linha ao urls.py:
– from feeds import LatestEntries● Adicione o seguinte padrão ao urls.py:
● Adicione a seguinte linha ao base.html:
MeioCódigo
Criando a classe do feed
● Crie um arquivo feeds.py:
MeioCódigo
Alterando a URL do site
MeioCódigo
Comentários - django.contrib.comments
● Aplicação plugável que é distribuída junto com o django;
● Oferece uma API simples para possibilitar comentários em qualquer Model.
MeioCódigo
Configurando os comentários (1)
● Adicione django.contrib.comments à variável INSTALLED_APPS;
● Adicione o seguinte padrão ao urls.py:
– (r'comments/', include('django.contrib.comment.urls')),
● Sincronize o banco de dados.
MeioCódigo
Configurando os comentários (2)
● Altere o blog/artigo_list.html:
MeioCódigo
Configurando os comentários (3)
● Altere o blog/artigo_detail.html:
MeioCódigo
Internacionalização
● Mudar idioma e formato de data;● Adicione as seguintes linhas ao settings.py:
– TIME_ZONE = 'America/Fortaleza'– LANGUAGE_CODE = 'pt-BR'– DATE_FORMAT = u'd/m/Y'
MeioCódigo
Referências
● http://www.djangoproject.com/● http://www.python.org/● http://www.meiocodigo.com/● http://www.djangobrasil.org/● http://www.aprendendodjango.com/