japan 0 Denunciar post Postado Abril 16, 2010 Sou novo no forum de python, e estou com uma dúvida que pode ser simples, é o seguinte: Nesse laço: {% for mensagem in latest %} <div class="mensagem"> <h2>{{ mensagem.titulo }}</h2> <div class="texto"> Postado há {{ mensagem.data|timesince }}<br/> {{ mensagem.texto }} </div> </div> {% endfor %} Gostaria de imprimir apenas as duas ultimas mensagens da lista, por exemplo, se foi enviado a mensagem 1, mensagem 2 e mensagem 3, gostaria de imprimir apenas a mensagem 2 e mensagem 3 Valeu, Galera! Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Abril 17, 2010 Bom, isso não é exatamente Python puro. você está usando o sistema de templates do Django. Veja se com reverse e unpacking funciona http://docs.djangoproject.com/en/dev/ref/templates/builtins/#for Outra opção é enviar somente as últimas 2 mensagens a partir do controlador p/ view usando slicing: a = ['msg1','msg2','msg3','msg4','msg5'] a[-2:] ['msg4','msg5'] Compartilhar este post Link para o post Compartilhar em outros sites
japan 0 Denunciar post Postado Abril 19, 2010 Justamente, resolvi meu problema usando slicing. views.py def index(request): mensagens_list = Mensagem.objects.all().order_by('-publicacao')[:3] return render_to_response('index.html', {'mensagens_list': mensagens_list}) É o melhor jeito de fazer? Como colocar nesse Post que ele foi resolvido???? Compartilhar este post Link para o post Compartilhar em outros sites
Mário Monteiro 179 Denunciar post Postado Abril 21, 2010 Somente os moderadores podem colocar o "Resolvido" Parabéns Compartilhar este post Link para o post Compartilhar em outros sites