Arquivo para março, 2010

Django – Template Tags …

Posted in Django, Programação, Python, Tecnologia with tags , , on 2 de março de 2010 by fchevitarese

Fiz a tradução deste artigo, sendo que o original pode ser encontrado em www.rossp.org
Tomei a liberdade de colocar somente o que achei pertinente na criação do templatetag, mas quem quiser ver o artigo original, pode clicar no link acima.

Django Template tags

Neste artigo vamos criar um template tag para mostrar a lista de tags dos posts do seu blog e também posts arquivados, separados por mês.
Isto se torna simples graças a um recurso existente no Django, chamado templatetags.

O conceito por trás do templatetags é simples. Um rápido trecho de código em sua página que chama um “script” Python por trás das cortinas e o mesmo retorna o código HTML puro, ou um conjunto de novas variáveis no contexto, permitindo manipulá-los e exibi-los como você quiser.

Vamos começar criando um diretório vazio dentro da pasta de sua aplicação, e vamos nomeá-lo “templatetags”. Supondo que você tenha uma aplicação denominada blog, você deve criar o diretório citado dentro da pasta blog. Também é necessário criar o arquivo “__init__.py” dentro da pasta “templatetags”.

Vamos também criar um arquivo chamado “listaposts.py” (Você pode dar o nome que quiser ok)

Agora, alguns passos são necessários.

  1. Importar os models desejados para que possamos ter acesso aos dados.
  2. Criar e registrar o nosso “templatetag”
  3. Escrever a função ou funções para esta tag, para adicionarmos os dados ao contexto.

Exemplificando o conteúdo do arquivo:

from projeto.blog.models import Post
from django.template import Library, Node

register = Library()
def lista_por_mes(parser, token):
    """
        {% get_month_list %}
    """
return MonthMenuObject()

class MonthMenuObject(Node):
    def render(self, context):
        context['lista_por_mes'] = Post.objects.dates("date", "month")
        return ''
register.tag('get_month_list', lista_por_mes)

Estamos então, registrando um templatetag “get_month_list”, que quando chamado no template, executa o “MonthMenuObject()”. O “Post.objects.dates” pega todos os posts e os separa por mês → “month” usando como comparativo o campo “date”.

Claro, estes campos e necessidades podem variar de acordo com seu models, portanto, faça as mudanças necessárias.
Agora, vamos colocar isto no template 😉

Não vou explicar nada sobre os templates aqui, somente vou mostrar como adicionar o templatetag que fizemos ao nosso template ok.
Como vamos exibir uma lista, então vamos utilizar o elemento “<ul>”.

<ul>

{% load listaposts %}

{% get_month_list %}

{% for month in lista_por_mes %}

<li><a href="/blog/{{ month|date:"Y/M"|lower}}/" title="{{ month|date:"M Y"}}">{{ month|date:"M Y" }}</a></li>

{% endfor %}

</ul>

Prontinho… No final, será exibida a lista como na imagem abaixo. Claro que você ainda tem que configurar os links que serão exibidos de acordo com suas urls 😉
Abraços!!!

Anúncios

Django – Links bacanas 2

Posted in Django, Programação, Python, Tecnologia with tags , on 2 de março de 2010 by fchevitarese

Opa…

Seguem outros links bacanas que encontrei sobre Django!!!

Qualquer dica e informação é bem vinda 😉

Por enquanto é só 😉

Abraços.objects.all()

Django – Projeto exemplo (django_youtube_syncronizer)

Posted in Django, Programação, Python, Tecnologia with tags , , on 2 de março de 2010 by fchevitarese


Opa!

Segue um projeto de exemplo utilizando o django_youtube_syncronizer 😉
Qualquer coisa, me enviem um e-mail ou perguntem aqui no blog 😉

http://django-youtube-syncronizer.googlecode.com/files/youtube_sync_prj.tar.bz2

Abraços!