官网下载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. Linux——xargs命令学习

    有时候我们会遇到需要将指定命令返回结果进行处理的情况 这种情况下,可能就需要写for循环之类的脚本进行处理了(目前我只能想到这种方法) 但是想起来还有一个xargs命令,组合这个命令就比较省事了. 场 ...

  2. C# web项目乱码问题解决

    在 web.config 文件中添加代码  <globalization requestEncoding="GB2312" responseEncoding="GB ...

  3. vue获取不到后端返回的响应头

    Response.ContentType = EPPlusHelpler.ExcelContentType; Response.Headers.Add("FileName", fi ...

  4. unity 在editor编辑器下创建多个按钮

    入坑最后发现就几句话,真是气死人了.发现自己掉坑里,脑子就变笨了,把代码贴给你们,保持大脑清醒. using System.Collections; using System.Collections. ...

  5. Three.js场景的基本组件

    1.场景Scene THREE.Scene被称为场景图,可以用来保存所有图形场景的必要信息.每个添加到Scene的对象,包括Scene自身都继承自名为THREE.Object3D对象.Scene不仅仅 ...

  6. 全球DEM高程数据下载

    本文主要介绍如何使用“迈高图-地图数据下载器”(以下简称:迈高图)下载全球DEM高程数据,任意下载范围自动拼接.裁剪.DEM高程数据支持下载导出为:GeoTIFF.XYZ.南方CASS等常用数据格式. ...

  7. t100 常用公用變數

    g_enterprise 目前的企業代碼,將限制使用者所能閱讀的資料內容g_prog 目前執行的作業編號,用於變換畫面顯示資料與產生系統資訊,不可變更g_code 目前執行的程式代碼(4gl)名稱,不 ...

  8. The One day 中位数的计算

    """ 中位数是有序列表中间的数.如果列表长度是偶数,中位数则是中间两个数的平均值. 例如, [2,3,4] 的中位数是 3 [2,3] 的中位数是 (2 + 3) / ...

  9. Scala 系列(七)—— 常用集合类型之 Map & Tuple

    一.映射(Map) 1.1 构造Map // 初始化一个空 map val scores01 = new HashMap[String, Int] // 从指定的值初始化 Map(方式一) val s ...

  10. Outlook 邮件助手

    Outlook 邮件助手 1 Overview 2 C# 编程 3 Outlook 设置 3.1 Outlook 2013 3.2 Outlook 2010 1 Overview 本章将示例如何开发一 ...