Django: для цикла в теге, отображающего различную информацию - PullRequest
2 голосов
/ 20 марта 2012

У меня проблема: предположим, у вас есть приложение для блога, и вы хотите отобразить все созданные сообщения. Но у вас есть сообщения, которые могут быть «прикрепленными» или «показанными», которые должны отображаться первыми и должны находиться в другом html-блоке. Может быть, это не лучший пример, но в конце концов это то, что мне нужно.

Итак, модель проста:

class Post(models.Model):
  title = models.CharField()
  content = models.TextField()
  featured = models.BooleanField(default=False)
  created = models.DateTimeField(auto_now=False, auto_now_add=True)
  class Meta:
    ordering = ['-featured','-created']

В представлении я просто запрашиваю все сообщения и отображаю их в шаблоне:

def my_view(request):
  return render_to_response('template.html',{'posts':Post.objects.all()})

Теперь проблема в моем шаблоне, что я хочу получить в результате это:

<html>
  <div class='featured-posts'>
     <ul>
      <li> A Featured post</li>
     </ul>
  </div>
  <div class='not-featured-posts'>
     <ul>
      <li> A NON Featured post</li>
     </ul>
  </div>
</html>

Что я могу сделать? Я думал, что, может быть, я смогу схватить тех, кто разделен, таким образом:

return render_to_response('template.html',{
  'featured':Post.objects.filter(featured=True),
  'non_featured':Post.objects.filter(featured=False)
})

Но мне действительно не нравится такой подход, есть ли какое-нибудь "основанное на шаблонах" решение?

Thx!

1 Ответ

5 голосов
/ 20 марта 2012
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...