文章表
news表
id url title content classid
1 http://www.xxx.com/1/a.html 标题1 内容1 1
2 http://www.xxx.com/2/b.html 标题2 内容2 2
3 http://www.xxx.com/3/c.html 标题3 内容3 3
4 http://www.xxx.com/1/e.html 标题4 内容4 1
5 http://www.xxx.com/2/w.html 标题5 内容5 2
......还有很多数据......
栏目表
class表
id name
1 栏目1
2 栏目2
3 栏目3
......还有很多数据......
views.py
news = News.query.join(
Class
).order_by(
News.id.desc()
)..paginate(1,5))
或者
news = News.query.join(
Class
).order_by(
News.id.desc()
).limit(5) 用这个 for循环就不需要.items
模板调用数据
{% for v in news.items %}
{% if loop.index is odd %}
<div class="pnvt_news_model ">
<dl class="title len">
<span class="sub "><i></i><a href="/{{ v.class.name }}/" target="_blank">{{ v.class.name }}</a></span>
</dl>
<dl class="html nh215">
<dt class="html">
<p><a href="{{ v.url }}" title="{{ v.title }}" target="_blank">{{ v.title }}</a></p>
</dt>
</dl>
</div>
{% else %}
<div class="pnvt_news_model pr0">
<dl class="title">
<span class="sub "><i></i><a href="/{{ v.class.name }}/" target="_blank">{{ v.class.name }}</a></span>
</dl>
<dl class="html nh215">
<dt class="html">
<p><a href="{{ v.url }}" title="{{ v.title }}" target="_blank">{{ v.title }}</a></p>
</dt>
</dl>
</div>
{% endif %}
{% endfor %}
上面代码只能循环出一个栏目,我想循环出所有栏目,并取出该栏目下面5篇文章内容。
下面是想得到的效果源码:
<div class="pnvt_news_model ">
<dl class="title len">
<span class="sub "><i></i><a href="/栏目1/" target="_blank">栏目1</a></span>
</dl>
<dl class="html nh215">
<dt class="html">
<p><a href="" title="标题1" target="_blank">标题1</a></p>
<p><a href="" title="标题1" target="_blank">标题1</a></p>
<p><a href="" title="标题1" target="_blank">标题1</a></p>
<p><a href="" title="标题1" target="_blank">标题1</a></p>
<p><a href="" title="标题1" target="_blank">标题1</a></p>
#这里显示栏目1中的5篇文章取出来
</dt>
</dl>
</div>
<div class="pnvt_news_model pr0">
<dl class="title">
<span class="sub"><i></i><a href="/栏目2/" target="_blank">栏目2</a></span>
</dl>
<dl class="html nh215">
<dt class="html">
<p><a href="" title="标题2" target="_blank">标题2</a></p>
<p><a href="" title="标题2" target="_blank">标题2</a></p>
<p><a href="" title="标题2" target="_blank">标题2</a></p>
<p><a href="" title="标题2" target="_blank">标题2</a></p>
<p><a href="" title="标题2" target="_blank">标题2</a></p>
#这里显示栏目2中的5篇文章取出来
</dt>
</dl>
</div>
求各位大神指点,先谢谢大家的回答
1.先取出所有栏目表,也就是取出class表所有分类 class.query.all() #这个取出来也是list
2.循环这个分类 取出每个分类的5篇文章,然后放到一个list里面
3.把第一步class取出来的list 和第二部循环出来的弄成个字典
4.页面显示内容
暂时只想出这个办法解决,有其他解决办法欢迎指导我。