Django学习教程十八实现最近文章列表前言1.查询最近文章2.修改视图函数3.修改模板页面4.完整页面结构示例5.访问测试6.总结前言上一篇我们学习了Django分页功能可以把文章列表分页展示。这一篇我们继续完善博客页面实现最近文章列表。最近文章列表在博客系统中很常见一般会显示最新发布的几篇文章方便用户快速查看。1.查询最近文章最近文章可以按照创建时间倒序排序然后取前几条数据。代码recent_articles Article.objects.all().order_by(-created_time)[:5]这里的[:5]表示只取前5条数据。2.修改视图函数打开views.py文件修改article_list方法。代码from django.shortcuts import render from django.core.paginator import Paginator from .models import Article def article_list(request): articles Article.objects.all().order_by(-created_time) recent_articles Article.objects.all().order_by(-created_time)[:5] paginator Paginator(articles, 5) page_number request.GET.get(page) page_obj paginator.get_page(page_number) context { page_obj: page_obj, recent_articles: recent_articles } return render(request, blog/article_list.html, context)3.修改模板页面可以在页面右侧或文章列表下面显示最近文章。代码h4最近文章/h4 ul classlist-group mb-4 {% for article in recent_articles %} li classlist-group-item a href/article/{{ article.id }}/{{ article.title }}/a /li {% endfor %} /ul4.完整页面结构示例可以把页面分成左右两部分。代码div classcontainer mt-4 div classrow div classcol-md-8 {% for article in page_obj %} div classcard mb-3 div classcard-body h5 classcard-title{{ article.title }}/h5 p classcard-text{{ article.content }}/p a href/article/{{ article.id }}/ classbtn btn-primary查看详情/a /div /div {% endfor %} /div div classcol-md-4 h4最近文章/h4 ul classlist-group {% for article in recent_articles %} li classlist-group-item a href/article/{{ article.id }}/{{ article.title }}/a /li {% endfor %} /ul /div /div /div5.访问测试启动项目后访问首页。地址http://127.0.0.1:8000/如果右侧能看到最近文章列表说明功能实现成功。6.总结这一篇我们实现了最近文章列表主要通过order_by按照创建时间倒序排序然后使用切片取前5条数据。最近文章列表可以提高博客页面的可读性也方便用户快速查看新文章。好了这一篇就到这里下一篇我们对这个Django博客项目做一个总结如果对你有帮助点赞加关注下篇见。