官网下载bootstrap插件放到项目中的static文件中

路由

path('blog-fullwidth/', login.fullwidth,name='fullwidth'),

前端页面引入

<link href="/static/bootstrap/css/bootstrap.min.css" rel="stylesheet">

前端获取数据

{% for v in article_obj %}
<div class="blog-post">
<img class="writer pull-left" src="{{ v.member.member_photo }}" alt="用户头像"/>
<h3><span style="color: #000;">作 者 </span><b>*</b><a
href="/blog/personage/{{ v.member_id }}"><span>{{ v.member.member_name }}</span></a>
</h3>
<strong>{{ v.article_addtime }}</strong>
<a href="/blog/single-post/{{ v.article_id }}"><h2>{{ v.article_title }}</h2></a>
<div class="post-img"{% if not v.image.all.first.image_src %} style="display: none"{% endif %}>
{# <a href="{{ v.image.all.last.image_src }}">点击查看图片详情</a>#}
<a href="{{ v.image.all.last.image_src }}"><img class="img-responsive"
src="{{ v.image.all.last.image_src }}"
alt="#"/></a>
</div>
{# {{ v.image.all.first.image_src }}#} <p>{{ v.article_description }}</p>
<ul class="list-inline read-more">
<li><a href="/blog/single-post/{{ v.article_id }}" role="button">查看全文</a></li>
<span>&nbsp;&nbsp;&nbsp;&nbsp;阅读:{{ v.article_clicknum }}&nbsp;&nbsp;</span><a href="javascript:;" data-id="{{ v.article_id }}"
data-num="{{ v.article_praise_num }}"
class="likes">赞:{{ v.article_praise_num }} </a> {# <li class="pull-right">{{ v.article_comment }}</li>#}
</ul>
</div>
{% endfor %}

前端分页写法

<nav aria-label="Page navigation">
<ul class="pagination">
{% if article_obj.has_previous %}
<li class="previous"><a
href="/blog/blog-fullwidth/?page={{ article_obj.previous_page_number }}">上一页</a>
</li>
{% else %}
<li class="previous disabled"><a href="#">上一页</a></li>
{% endif %} {% for num in pageRange %}
<li {% if num == currentPage %}class=" active"{% endif %}><a
href="?page={{ num }}">{{ num }}</a></li>
{% endfor %} {% if article_obj.has_next %}
<li class="next"><a
href="/blog/blog-fullwidth/?page={{ article_obj.next_page_number }}">下一页</a></li>
{% else %}
<li class="next disabled"><a href="#">下一页</a></li>
{% endif %} </ul>
</nav>

后台写法

# 文章列表页
def fullwidth(request):
member_id = request.session.get('member_id')
member_name = request.session.get('member_name')
super_obj = Article.objects.filter(member_id=7).last()
# 获取所有文章
article_obj = Article.objects.filter(article_auditor=0).order_by('-article_addtime')
currentPage = int(request.GET.get('page', 1)) # 获取当前在第几页
# book_list = Book.objects.all()
paginator = Paginator(article_obj, 5) # 告诉分页器我5条分页
# 如果总页数大于十一页,设置分页
if paginator.num_pages > 11:
# 如果当前页数小于5页
if currentPage - 5 < 1:
# 页面上显示的页码
pageRange = range(1, 11)
# 如果当前页数+5大于总页数显示的页码
elif currentPage + 5 > paginator.num_pages:
pageRange = range(paginator.num_pages - 9, paginator.num_pages + 1)
else:
# 在中间显示的十个页码
pageRange = range(currentPage - 5, currentPage + 5)
else:
pageRange = paginator.page_range
# 捕获路由异常
try:
article_obj = paginator.page(currentPage)
# 如果页码输入不是整数则返回第一页的数据
except PageNotAnInteger:
article_obj = paginator.page(1)
# 如果页码输入是空值则返回第一页数据
except EmptyPage:
article_obj = paginator.page(1) return render(request, 'blog/blog-fullwidth.html', locals())

页面效果

done。

django项目中使用bootstrap插件的分页功能。的更多相关文章

  1. Django项目中使用plupload插件实现上传图片功能

    首先下载plupload插件放在static静态文件下面,官方地址:https://www.plupload.com/ 项目根目录下创建media文件夹用来存放上传的图片,配置settings文件,添 ...

  2. 项目中使用ECharts插件实现统计功能

    一.前端界面 // 界面中定义一个div,放图表 <div id="box" style="width: 600px;height:400px;padding: 1 ...

  3. Django项目中模板标签及模板的继承与引用【网站中快速布置广告】

    Django项目中模板标签及模板的继承与引用 常见模板标签 {% static %} {% for x in range(x) %}{% endfor %} 循环的序号{% forloop %} 循环 ...

  4. vue-cli+webpack在生成的项目中使用bootstrap方法(二)

    vue-cli+webpack在生成的项目中使用bootstrap方法(一)中,是通过手动下载bootstrap库,然后手动添加到src/assets中,显然是过程太多. 当然是可以更省力些,可以通过 ...

  5. 项目中整合第三方插件与SpringMVC数据格式化关于ip地址

    一.Bootstrap 响应式按钮 <div calss="col-sm-2"> <button class="btn btn-default btn- ...

  6. django项目中遇到要实现定时任务

    django项目中遇到要实现定时任务,所以选用了简单易用的django-crontab插件. 1.安装 django-crontab pip install django-crontab 2.定时要执 ...

  7. vue-cli项目中引入第三方插件

    前言 最近有小伙伴问道如何在vue-cli项目中引入第三方插件或者库,例如如果想在项目中使用jQuery中的Ajax请求数据呢?或者我想使用Bootstrap框架呢?等等这些问题,本篇博客将带你学习如 ...

  8. [翻译]在Django项目中添加谷歌统计(Google Analytics)

    原文:<Google Analytics tracking code into Django projects, the easy way> 对我来说,制作一个可扩展的Django应用随时 ...

  9. Django项目中使用Redis

    Django项目中使用Redis DjangoRedis 1 redis Redis 是一个 key-value 存储系统,常用于缓存的存储.django-redis 基于 BSD 许可, 是一个使 ...

随机推荐

  1. [数据结构 - 第3章] 线性表之双向链表(C语言实现)

    一.什么是双向链表? 双向链表(double linked list)是在单链表的每个结点中,再设置一个指向其前驱结点的指针域.所以在双向链表中的结点都有两个指针域,一个指向直接后继,另一个指向直接前 ...

  2. 将你的数据导入到json格式

    不知道为什么大家那么偏爱json格式,清晰?跨平台?或许这都是它的优点吧,之前我都是将我的数据放到txt中,今后就用json吧.初步写了一个写入json的模板,就这么用吧. def get_qq_05 ...

  3. hbase 安装(集群模式)

    环境:jdk 1.8 + hadoop2.7.6+zookeeper3.4.9+centos7 一.安装zookeeper(集群模式) 0.安装机器 ip                       ...

  4. 2017ACM/ICPC广西邀请赛 Color it

    Color it Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 132768/132768 K (Java/Others)Tota ...

  5. 理解SQL Server中索引的概念,原理以及其他(转载)

    简介 在SQL Server中,索引是一种增强式的存在,这意味着,即使没有索引,SQL Server仍然可以实现应有的功能.但索引可以在大多数情况下大大提升查询性能,在OLAP中尤其明显.要完全理解索 ...

  6. Java开发笔记(一百四十七)通过JDBC管理数据库

    前面介绍了如何通过JDBC获取数据库连接,可是Connection对象不能直接执行SQL语句,需要引入Statement报告对象才能操作SQL.Statement对象由Connection的creat ...

  7. Python之路【第二十三篇】:数据库基础

    数据库的简介 数据库 数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合.数据库中的数据按一定的数学模型组织.描述和存储,具有较小的冗余,较高的数据独立性和易扩展性, ...

  8. Go基础编程实践(十)—— 数据库

    从数据库中读取数据 在http://sqlitebrowser.org/下载sqlite3可视化工具,在本main.go同目录下创建personal.db数据库,创建表如下: package main ...

  9. pytest_assert断言

    前言 断言是写自动化测试基本最重要的一步,一个用例没有断言,就失去了自动化测试的意义了.什么是断言呢? 简单来讲就是实际结果和期望结果去对比,符合预期那就测试pass,不符合预期那就测试 failed ...

  10. go ---变量数据结构调试利器 go-spew

    我们在使用Golang(Go语言)开发的过程中,会通过经常通过调试的方式查找问题的原因,解决问题,尤其是当遇到一个很棘手的问题的时候,就需要知道一段代码在执行的过程中,其上下文的变量对应的数据,以便进 ...