python - Django:标签中的For循环显示不同的信息

标签 python django templates for-loop

我遇到了这个问题:假设您有一个博客应用程序,并且想要显示创建的所有帖子。但是您的帖子可能是“粘性”或“特色”的,必须首先显示,并且必须驻留在不同的 html“ block ”中。也许这不是最好的例子,但毕竟是我需要的。

所以,模型很简单:

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']

在 View 中,我只是查询所有帖子并将其显示在模板中:

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)
})

但我真的不喜欢这种方法,有没有“基于模板”的解决方案?

谢谢!

最佳答案

Regroup特色字段上。

关于python - Django:标签中的For循环显示不同的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9780119/

相关文章:

python - python中进程间传递数据

python - Django Mezzanine 框架 - 不允许我将视频嵌入到博客文章中

C++ 为特定模板特化添加重载方法

javascript - 达到 10 次摘要迭代,正在中止(作用域函数问题)

java - Eclipse Java 代码模板 -> 方法体 : How do I insert a carriage return?

python - Pandas |如何获取包含时间戳的两列之间的时间差(以秒为单位)

python - 在 matplotlib 中将字符串绘制为轴

python - 使用 python 日志过滤不同记录器的正确方法是什么?

database - 如何在 Google App Engine/Django-nonrel 中存储一长串数字?

python - 将列表传递给 render(request) 时 CSS 失败