Django博客系统(首页文章数据展示)
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 }} </span><span><i class="fas fa-comments" style="color: yellowgreen;"></i>{{ article.comments_count }} </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博客系统(首页文章数据展示)相关推荐
- Django博客系统(首页分类数据展示)
1. 首页接口设计 1.请求方式 选项 方案 请求方法 GET 请求地址 /?cat_id=xxx&page_num=xxx&page_size=xxx 2.请求参数 参数名 类型 是 ...
- Django博客系统(推荐文章数据展示)
1. 添加文章浏览量数据 1.每次请求文章详情时给浏览量+1 try:article=Article.objects.get(id=id) except Article.DoesNotExist:re ...
- Django博客系统(详情评论数据展示)
1. 查询评论数据并展示 1.查询评论数据并通过context传递给HTML from home.models import Comment from django.shortcuts import ...
- Django博客系统(用户中心展示)
1. 页面展示 1.在users.views.py文件中定义视图 from django.views import Viewclass UserCenterView(View):def get(sel ...
- Django博客系统(首页用户名展示)
1. 用户名写入到cookie # 响应登录结果 response = redirect(reverse('home:index'))# 设置状态保持的周期 if remember != 'on':# ...
- Django博客系统(文章分类模型)
文章分类后台管理 网站的管理员负责查看.添加.修改.删除数据 Django能够根据定义的模型类自动地生成管理模块 登陆站点:http://127.0.0.1:8000/admin 需要服务器是启动状态 ...
- Django博客系统(文章模型)
1. 定义模型类 在home子应用的models.py模型中定义文章模型 from users.models import User class Article(models.Model):" ...
- .NET Core 实现定时抓取博客园首页文章信息并发送到邮箱
前言 大家好,我是晓晨.许久没有更新博客了,今天给大家带来一篇干货型文章,一个每隔5分钟抓取博客园首页文章信息并在第二天的上午9点发送到你的邮箱的小工具.比如我在2018年2月14日,9点来到公司我就 ...
- 基于SpringBoot + Vue的个人博客系统12——使用vue-admin-template展示文章列表(后台管理)
简介 前面我们实现了博客系统的前台展示页面,还有留言功能没有实现,实现留言功能无非就是在后端增加留言表,对留言进行增删改查.和文章表类似,这里就不在赘述. 既然作为一款动态博客,那么后台管理是必不可少 ...
最新文章
- SaltStack自动化运维(一)——简介与架构解析
- Python+selenium 自动化-操作已启用的chrome浏览器实例演示,chrome启用调试端口方法
- 准备入门IC的全局观念系列-上
- [Pyhon大数据分析] 二.PyEcharts绘制全国各地区、某省各城市地图及可视化分析
- 微信营销这么做,你就成功了 转载
- Visual Studio Code 保存代码时报Applying code action Organize Imports
- Deep Boltzmann Machines
- Java EE 7发布–反馈和新闻报道
- SpringBoot +Lombok注解精华篇
- 小学计算机表格制作教学,小学计算机年度教学工作计划表格(四篇).docx
- 自己闲来无事做的工作日志WEB程序(VB.NET)
- Python学习笔记:函数(Function)
- 解压大于4g的文件_U盘容量还很大,拷贝时提示“文件太大”无法传输!
- ssd训练时提示:Cannot copy param 0 weights from 'xxxx',以及提示No module named caffe.proto,推理时设置GPU模式
- IIS asp.net 4.0
- 如何用CMD查看本机的IP地址
- 【信息论】信源与信源熵(一)
- 关于机械臂仿真的几款软件简介
- 如何搭建简易的Wiki系统
- Mac运行Win 10画面出问题?教你如何修复这个问题