1. 查询分页数据并展示

1.查询分类文章数据并通过context传递给HTML

from home.models import ArticleCategory,Article
from django.http import HttpResponseNotFound
from django.core.paginator import Paginator,EmptyPageclass IndexView(View):"""首页广告"""def get(self, request):"""提供首页广告界面"""#?cat_id=xxx&page_num=xxx&page_size=xxxcat_id=request.GET.get('cat_id',1)page_num = request.GET.get('page_num', 1)page_size = request.GET.get('page_size', 10)#判断分类idtry:category = ArticleCategory.objects.get(id=cat_id)except ArticleCategory.DoesNotExist:return HttpResponseNotFound('没有此分类')# 获取博客分类信息categories = ArticleCategory.objects.all()#分页数据articles = Article.objects.filter(category=category)# 创建分页器:每页N条记录paginator = Paginator(articles, page_size)# 获取每页商品数据try:page_articles = paginator.page(page_num)except EmptyPage:# 如果没有分页数据,默认给用户404return HttpResponseNotFound('empty page')# 获取列表页总页数total_page = paginator.num_pagescontext = {'categories':categories,'category':category,'articles': page_articles,'page_size': page_size,'total_page': total_page,'page_num': page_num,}return render(request, 'index.html',context=context)

2.在index.html文件中使用模板语言展示分类数据

<div class="container"><!-- 列表循环 -->{% for article in articles %}<div class="row mt-2"><!-- 文章内容 --><!-- 标题图 --><div class="col-3"><img src="{{ article.avatar.url }}" alt="avatar" style="max-width:100%; border-radius: 20px"></div><div class="col"><!-- 栏目 --><a  role="button" class="btn btn-sm mb-2 btn-warning">{{ article.category.title }}</a><!-- 标签 --><span><a class="badge badge-secondary">{{ article.tags }}</a></span><!-- 标题 --><h4><b><a href="./detail.html" style="color: black;">{{ article.title }}</a></b></h4><!-- 摘要 --><div><p style="color: gray;">{{ article.sumary }}</p></div><!-- 注脚 --><p><!-- 查看、评论、时间 --><span><i class="fas fa-eye" style="color: lightskyblue;"></i>{{ article.total_views }}&nbsp;&nbsp;&nbsp;</span><span><i class="fas fa-comments" style="color: yellowgreen;"></i>{{ article.comments_count }}&nbsp;&nbsp;&nbsp;</span><span><i class="fas fa-clock" style="color: pink;"></i>{{ article.created | date }}</span></p></div><hr style="width: 100%;"/></div>{% endfor %}<!-- 页码导航 --><div class="pagenation" style="text-align: center"><div id="pagination" class="page"></div></div>
</div>

3.修改底部js分页代码

<script type="text/javascript">$(function () {$('#pagination').pagination({currentPage: {{ page_num }},totalPage: {{ total_page }},callback:function (current) {location.href = '/?cat_id={{ category.id }}&page_size={{ page_size }}&page_num='+current;}})});
</script>

2. 插入更多测试数据

我们可以通过蠕虫复制来插入更多测试数据

insert into tb_article(avatar,tags,title,summary,content,total_views,comments_count,created,updated,author_id,category_id)
select avatar,tags,title,summary,content,total_views,comments_count,created,updated,author_id,category_id from tb_article;

示例:

Django博客系统(首页文章数据展示)相关推荐

  1. Django博客系统(首页分类数据展示)

    1. 首页接口设计 1.请求方式 选项 方案 请求方法 GET 请求地址 /?cat_id=xxx&page_num=xxx&page_size=xxx 2.请求参数 参数名 类型 是 ...

  2. Django博客系统(推荐文章数据展示)

    1. 添加文章浏览量数据 1.每次请求文章详情时给浏览量+1 try:article=Article.objects.get(id=id) except Article.DoesNotExist:re ...

  3. Django博客系统(详情评论数据展示)

    1. 查询评论数据并展示 1.查询评论数据并通过context传递给HTML from home.models import Comment from django.shortcuts import ...

  4. Django博客系统(用户中心展示)

    1. 页面展示 1.在users.views.py文件中定义视图 from django.views import Viewclass UserCenterView(View):def get(sel ...

  5. Django博客系统(首页用户名展示)

    1. 用户名写入到cookie # 响应登录结果 response = redirect(reverse('home:index'))# 设置状态保持的周期 if remember != 'on':# ...

  6. Django博客系统(文章分类模型)

    文章分类后台管理 网站的管理员负责查看.添加.修改.删除数据 Django能够根据定义的模型类自动地生成管理模块 登陆站点:http://127.0.0.1:8000/admin 需要服务器是启动状态 ...

  7. Django博客系统(文章模型)

    1. 定义模型类 在home子应用的models.py模型中定义文章模型 from users.models import User class Article(models.Model):" ...

  8. .NET Core 实现定时抓取博客园首页文章信息并发送到邮箱

    前言 大家好,我是晓晨.许久没有更新博客了,今天给大家带来一篇干货型文章,一个每隔5分钟抓取博客园首页文章信息并在第二天的上午9点发送到你的邮箱的小工具.比如我在2018年2月14日,9点来到公司我就 ...

  9. 基于SpringBoot + Vue的个人博客系统12——使用vue-admin-template展示文章列表(后台管理)

    简介 前面我们实现了博客系统的前台展示页面,还有留言功能没有实现,实现留言功能无非就是在后端增加留言表,对留言进行增删改查.和文章表类似,这里就不在赘述. 既然作为一款动态博客,那么后台管理是必不可少 ...

最新文章

  1. SaltStack自动化运维(一)——简介与架构解析
  2. Python+selenium 自动化-操作已启用的chrome浏览器实例演示,chrome启用调试端口方法
  3. 准备入门IC的全局观念系列-上
  4. [Pyhon大数据分析] 二.PyEcharts绘制全国各地区、某省各城市地图及可视化分析
  5. 微信营销这么做,你就成功了 转载
  6. Visual Studio Code 保存代码时报Applying code action Organize Imports
  7. Deep Boltzmann Machines
  8. Java EE 7发布–反馈和新闻报道
  9. SpringBoot +Lombok注解精华篇
  10. 小学计算机表格制作教学,小学计算机年度教学工作计划表格(四篇).docx
  11. 自己闲来无事做的工作日志WEB程序(VB.NET)
  12. Python学习笔记:函数(Function)
  13. 解压大于4g的文件_U盘容量还很大,拷贝时提示“文件太大”无法传输!
  14. ssd训练时提示:Cannot copy param 0 weights from 'xxxx',以及提示No module named caffe.proto,推理时设置GPU模式
  15. IIS asp.net 4.0
  16. 如何用CMD查看本机的IP地址
  17. 【信息论】信源与信源熵(一)
  18. 关于机械臂仿真的几款软件简介
  19. 如何搭建简易的Wiki系统
  20. Mac运行Win 10画面出问题?教你如何修复这个问题

热门文章

  1. GitLab 在中国成立公司极狐,GitHub 还会远吗?
  2. 对标Oculus Quest2,爱奇艺奇遇VR打的什么牌?
  3. 一只端午节鸭蛋粽子的背后:AI 与农业
  4. 如何用Python快速抓取Google搜索?
  5. 直接上手!不容错过的Visual Studio Code十大扩展组件
  6. 今晚8点直播 | 美团是怎么玩儿AI的?大牛揭秘美团超大规模数据集——美团大脑
  7. 干货 | 一文搞懂极大似然估计
  8. IDEA那些既好用又好玩的30多款宝贝插件,你知道多少?
  9. 超美观的 Vue+Element 开源后台管理 UI
  10. 面试官问:MySQL 的自增 ID 用完了,怎么办?