Mini curso introdutório ao Django

4,421
-1

Published on

Mini curso introdutório ao framework Django ministrado no dia 25 de abril de 2009 no FLISOL em Natal/RN.

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

No Downloads
Views
Total Views
4,421
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
250
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Mini curso introdutório ao Django

  1. 1. Mini-curso introdutório ao Django
  2. 2. Apresentação Mini-curso introdutório ao framework Django; ● Desenvolver um blog utilizando o Django. ● Meio Código
  3. 3. 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. ● Meio Código
  4. 4. 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. ● Meio Código
  5. 5. Funcionamento Meio Código
  6. 6. Requisições em Django Meio Código
  7. 7. 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. ● Meio Código
  8. 8. Criando um projeto Meio Código
  9. 9. Tela inicial do Django Meio Código
  10. 10. Settings Localize o arquivo settings.py; ● Atribua as seguintes variáveis ● DATABASE_ENGINE = 'sqlite3' – – DATABASE_NAME = 'meu_blog.db' Meio Código
  11. 11. Aplicações em Django Fazem uma tarefa e fazem bem; ● Plugabilidade; ● Aplicações plugáveis desenvolvidas pela ● comunidade; http://www.djangopluggables.com/ ● Meio Código
  12. 12. Criando uma aplicação $ ./manage.py startapp blog Meio Código
  13. 13. 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. Meio Código
  14. 14. Criando um model Meio Código
  15. 15. Instalando a aplicação Abra o settings.py; ● Altere a variável INSTALED_APPS para conter ● a nova aplicação. Meio Código
  16. 16. Gerando o banco de dados Meio Código
  17. 17. Criando um superusuário Meio Código
  18. 18. Fixtures Dados iniciais da aplicação; ● Úteis para que a aplicação já seja funcional ● mesmo após ter sido instalada. Meio Código
  19. 19. 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. Meio Código
  20. 20. 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)), Meio Código
  21. 21. Registrando nosso model no Admin Crie um arquivo chamado admin.py dentro da ● pasta da aplicação blog; Sincronize o banco de dados. ● Meio Código
  22. 22. 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; Meio Código
  23. 23. Generic views Views genéricas disponibilizadas junto com o ● framework; Realizam ações básicas: listar, detalhar, ● cadastrar, editar, excluir; Meio Código
  24. 24. 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. Meio Código
  25. 25. 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. Meio Código
  26. 26. 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. Meio Código
  27. 27. Configurando uma pasta de templates Crie uma pasta chamada templates na raiz do ● projeto; Abra o settings.py e adicione o seguinte ● código: Meio Código
  28. 28. Criando os templates Criar os seguintes templates: ● base.html; – – blog/artigo_list.html; – blog/artigo_detail.html. Meio Código
  29. 29. Servindo arquivos estáticos Não deve ser servido pelo django, apesar de ● ser possível; settings.py ● urls.py ● Meio Código
  30. 30. Adicionando mais cor ao blog Alterar o template base.html: ● Meio Código
  31. 31. Template Context Processors São configurados pela variável ● TEMPLATE_CONTEXT_PROCESSORS do settings.py; Adicionam variáveis aos templates. ● Meio Código
  32. 32. 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. ● Meio Código
  33. 33. Adicionando auntenticação (1) Altere o urls.py para: ● Meio Código
  34. 34. 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: ● Meio Código
  35. 35. Escrever, editar e excluir Altere o blog/urls.py para ficar assim: ● Meio Código
  36. 36. 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: ● Meio Código
  37. 37. 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. Meio Código
  38. 38. Configurando as FlatPages Adicione django.contrib.flatpages ao ● INSTALLED_APPS; Adicione ● django.contrib.flatpages.middleware.FlatpageF allbackMiddleware; Sincronize o banco de dados; ● Crie o template flatpages/default.html. ● Meio Código
  39. 39. Middlewares Possibilitam a execução de ações entre a ● requisição do usuário e as views. Meio Código
  40. 40. 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 Meio Código
  41. 41. RSS - django.contrib.syndication Aplicação plugável que é distribuída ● juntamente com o django; Possibilita a geração de feeds RSS facilmente. ● Meio Código
  42. 42. 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: ● Meio Código
  43. 43. Criando a classe do feed Crie um arquivo feeds.py: ● Meio Código
  44. 44. Alterando a URL do site Meio Código
  45. 45. 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. Meio Código
  46. 46. 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. ● Meio Código
  47. 47. Configurando os comentários (2) Altere o blog/artigo_list.html: ● Meio Código
  48. 48. Configurando os comentários (3) Altere o blog/artigo_detail.html: ● Meio Código
  49. 49. 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' Meio Código
  50. 50. Referências http://www.djangoproject.com/ ● http://www.python.org/ ● http://www.meiocodigo.com/ ● http://www.djangobrasil.org/ ● http://www.aprendendodjango.com/ ● Meio Código
  51. 51. Duvidas? vbmendes@gmail.com ● Meio Código
  1. A particular slide catching your eye?

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

×