aprendendo django vol 2

Download Aprendendo Django Vol 2

Post on 29-Jun-2015

304 views

Category:

Documents

6 download

Embed Size (px)

TRANSCRIPT

Aprendendo Django no Planeta Terra - vol. 2

Marinho Brando1 edio - 2009

Copyright 2008 por Jos Mrio Neiva Brando

reviso Mychell Neiva Rodrigues

ilustraes e capa Joo Matheus Mazzia de Oliveira

impresso e acabamento Lulu.com

Todos os direitos reservados por Jos Mrio Neiva Brando E-mail: marinho@aprendendodjango.com www.aprendendodjango.com

Licena

Esta obra e seus personagens so licenciados sob a licena Creative Commons Atribuio-Uso No-Comercial-Vedada a Criao de Obras Derivadas 2.5 Brasil ( http://creativecommons.org/licenses/by-nc-nd/2.5/br/ ). As premissas bsicas desta licena so que:

Voc pode

copiar, distribuir, exibir e executar a obra

Sob as seguintes condies Atribuio. Voc deve dar crdito ao autor original, da forma especificada pelo autor ou licenciante. Uso No-Comercial. Voc no pode utilizar esta obra com finalidades comerciais. Vedada a Criao de Obras Derivadas. Voc no pode alterar, transformar ou criar outra obra com base nesta.

Observaes Para cada novo uso ou distribuio, voc deve deixar claro para outros os termos da licena desta obra. Qualquer uma destas condies podem ser renunciadas, desde que Voc obtenha permisso do autor. Nada nesta licena atrapalha ou restringe os direitos morais do autor.

O autor desta obra e de seus personagens Jos Mrio Neiva Brando (codinome "Marinho Brando"). A autoria das ilustraes de Joo Matheus Mazzia de Oliveira. A reviso e edio do texto de Mychell Neiva Rodrigues.

Sumrio

Volume 2Dicas para o aprendizado...............................................................................................................7 19. Signals e URLs amigveis com Slugs......................................................................................9 20. Uma galeria de imagens simples e til...................................................................................31 21. Organizando as coisas com Tags ...........................................................................................58 22. O mesmo site em vrios idiomas ..........................................................................................92 23. Fazendo um sistema de Contas Pessoais..............................................................................118 24. Fazendo mais coisas na aplicao de Contas Pessoais.........................................................141 25. A aplicao de Contas Pessoais sai do backstage.................................................................160 26. Separando as contas pessoais para usurios.........................................................................191 27. Funes de usurios.............................................................................................................209 28. Programando com testes automatizados...............................................................................238 29. Criando ferramentas para a linha de comando.....................................................................260 30. Adentrando a selva e conhecendo os verdadeiros bichos.....................................................269 Volume 1 Agradecimentos Apresentao Dicas para o aprendizado 1. Alatazan chega ao Planeta Terra 2. O que Django? Como isso? 3. Baixando e Instalando o Django 4. Criando um Blog maneiro 5. Entendendo como o Django trabalha 6. O RSS o entregador fiel 7. Fazendo a apresentao do site com templates 8. Trabalhando com arquivos estticos 9. Pginas de contedo so FlatPages 10. Permitindo contato do outro lado do Universo 11. Deixando os comentrios flurem 12. Um pouco de HTML e CSS s faz bem 13. Um pouco de Python agora 14. Ajustando as coisas para colocar no ar 15. Infinitas formas de se fazer deploy 16. Preparando um servidor com Windows 17. Preparando um servidor com Linux 18. WSGI e Servidores compartilhados

Volume 2

5

6

Dicas de Aprendizado

Antes de entrar de cabea na leitura do livro, bom manter em mente alguns princpios que vo facilitar a compreenso, manter a calma em alguns momentos e fortalecer o aprendizado. Veja abaixo:

No copie e cole, digiteA pior coisa a fazer para se aprender algo buscar o atalho de copiar e colar, com aquela velha auto-iluso "ahh, j entendi isso, vou copiar e colar s pra confirmar que eu entendi". Isso no cola - ou pelo menos no cola na sua memria. Digite cada comando, cada linha, cada coisinha, faa por voc mesmo, e os resultados sero mais slidos e duradouros.

Calma, uma coisa de cada vezO detalhamento inicial feito assim por sua prpria natureza. medida que algumas coisas so explicadas detalhadamente, elas passam a ser apontadas de forma mais objetiva dali em diante, e coisas em foco naquele captulo passam a ser mais detalhadas. Assim, se voc continua pensando que o livro est detalhando demais, um bom sinal de que aprendeu as lies dos captulos anteriores de tal forma que nem notou. Parabns!

No existe mgica, no se iluda com issoO Django no uma ferramenta mgica. Muito menos de truques. A produtividade do Django est ligada a trs coisas muito importantes: Framework. Trabalhar com um framework mais produtivo simplesmente porque voc no faz coisas que j esto prontas e levaram

7

anos para serem criadas de forma que voc possa usar facilmente agora. Esse valor s tem essa fora e dinmica porque o Django software livre. Conhecimento. O seu conhecimento do Django e de conceitos aprofundados de Web, Programao Orientada a Objetos e Bancos de Dados faz TODA a diferena. Python. uma linguagem de fcil compreenso, no burocrtica e prtica. Muito prtica. Isso evita que seu crebro se perca em interpretar coisas e smbolos que no precisaria interpretar e mantenha o foco na soluo.

Portanto, no existem atalhos, nem vida fcil, mas voc pode facilitar as coisas e se divertir com isso, usando as ferramentas certas, e agindo com foco e persistncia. Ento, numa bela manh vai perceber que est produzindo com qualidade e rapidez, por seus prprios mritos.

Verso do DjangoA verso do Django adotada nesta srie a verso 1.0.2. Algumas pessoas tm encontrado algumas dificuldades em decorrncia de usarem uma verso diferente. H diferenas entre verses em aspectos que temos trabalhado, portanto, use a verso 1.0.2 ou superior.

Fique ligado nas extenses do arquivosNo Windows, o padro ocultar as extenses dos arquivos. Por exemplo: para um arquivo "teste.txt", ser exibido apenas como "teste". Isso tremendamente chato para o desenvolvedor. Para facilitar a sua vida, v numa janela do Explorer, ao menu Ferramentas -> Opes de Pasta e desabilite a opo que voc ve na imagem abaixo.

8

Captulo 19: Signals e URLs amigveis com Slugs

Em Katara h uma classe de artistas autodenominados "Artistas Penicos Geomtricos Biocorretistas Surfadores", um nome criado por eles que no visto da mesma forma pelos agricultores. Sua arte consiste em levar seus discos voadores at uma plantao bacana, amarrar um cabo nave, e prender um cortador de grama na outra extremidade do cabo. Surfando em pranchas voadoras, eles giram suas naves enquando sobem e descem no ar, cortando e quebrando a plantao em formas geomtricas como bolas, bolinhas, bolonas, meias-luas e outras formas curvas sem nenhum fundamento. H aqueles de nvel avanado que j fazem quadradinhos, losangos e outras coisas, mas ainda assim geomtricas demais para agradar a qualquer crtico de arte ou agricultor. Depois de um tempo, esses Artistas Penicos Geomtricos Biocorretistas Surfadores foram expulsos de Katara, pra deixar seus crticos de arte e agricultores em paz. E saram em busca de outros planetas. Mas agora eles gostam de dar um clima situao, antes de se revelar como autores da arte. Alguns agricultores de outros planetas j comearam a reclamar, mas os crticos de arte ainda no se pronunciaram a respeito, devido a no saber exatamente quem fez e assim ficam com medo de ser algum famoso e descolado. O que eles ainda no notaram alguns agricultores entenderam sua arte como sinais do alm, e a cada novo desenho que feito numa plantao, seus novos seguidores reagem aos "sinais" de forma cada vez mais convencida. Para desenhos com bolinhas eles danam uma dana especial. Para desenhos com quadradinhos soltam fogos de artifcio. E assim por diante.

9

Usando signals para criar slugsAntes de falar em Signals vamos falar dos Slugs. "Slug" uma expresso que no tem nada a ver com uma lesmas. "Slug" uma expresso do meio jornalstico para criar identificaes mais claras e intuitivas para contedo publicado na web. Dessa forma, o monte bolinhas, quadradinhos e risquinhos abaixo no visto exatamente como uma obra de arte:http://turismo.terra.com.br/interna/0,,OI1768089-EI176,00.html

Pois ela poderia ser assim:http://turismo.terra.com.br/interna/confira-dicas-para-arrumarmalas-para-viagem/

E sem dvida ficaria mais fcil para pessoas se identificarem com ela. Mecanismos de buscas tambm ficam muito mais confortveis com esse tipo de URL. Agora, inicie o projeto em nosso ambiente de desenvolvimento, clicando duas vezes no arquivo "executar.bat" da pasta do projeto ( "C:\Projetos\meu_blog" ). Abra o navegador e carregue a seguinte URL:http://localhost:8000/artigo/1/

A seguinte pgina ser carregada:

10

Um artigo com o ttulo "Ol me! Estou vivo!" poderia muito bem ter uma URL como esta abaixo, no?http://localhost:8000/artigo/ola-mae-estou-vivo/

Muito mais amigvel e sem dvida mais fcil de identificar. Ento vamos l!

Acrescentando um novo campo de slug classe de modeloNa pasta da aplicao "blog", carregue o arquivo "models.py" para edio e localize a seguinte linha:publicacao = models.DateTimeField( default=datetime.now, blank=True )

Logo abaixo dela, acrescente a seguinte linha de cdigo:slug = models.SlugField(max_length=100, blank=True)

Observe que definimos uma largura mxima de 100 caracteres, para