django中的分页设置
1、在控制台中的展示
from django.core.paginator import Paginator iter = 'abcdefghijklmn'
inator = Paginator(iter, )
page1 = inator.page() page1.object_list
# 输出当前也的内容
'abcde' page1.number
# 输出页码 page1.has_next()
# 输出是否有下一页
True page1.next_page_number()
# 输出下一页的页码 print(page1.paginator.num_pages)
# 输出总的页数
2、用在web中会有很大的不同
1> html中的设置
使用ArtiInfo(参见views.py)而不是上面的page1,此外方法也没有括号
<li>
<img src="{% static 'images/0001.jpg' %}" width="100" height="91">
<div class="article-info">
<h3><a href="#">{{ item.title }}</a></h3>
<p class="meta-info">
{% for tag in item.tags %}
<span class="meta-cate">{{ tag }}</span>
{% endfor %}
</p>
<p class="description">{{ item.des }}</p>
</div>
<div class="rate">
<span class="rate-score">{{ item.scores }}</span>
</div>
</li>
{% endfor %} <div class="main-content-pagitor">
{% if ArtiInfo.has_previous %}
<a href="?page={{ ArtiInfo.previous_page_number }}">< Pre</a>
{% endif %}
<span> {{ ArtiInfo.number }} of {{ ArtiInfo.paginator.num_pages }} </span>
{% if ArtiInfo.has_next %}
<a href="?page={{ ArtiInfo.next_page_number }}">Next ></a>
{% endif %}
</div>
2> models.py
from django.db import models
from mongoengine import * class ArtiInfo(Document):
des = StringField()
title = StringField()
scores = StringField()
tags = ListField(StringField())
# 对应数据库中已存在的数据表
meta = {'collection':'articles'}
3> views.py
,views.py
from django.shortcuts import render
from django_web.models import ArtiInfo
from django.core.paginator import Paginator def index(request):
limit = 5
arti_info = ArtiInfo.objects[:20]
paginatior = Paginator(arti_info,limit)
# 参考上面html中是怎么设置的
page = request.GET.get('page',1)
print(request)
print(request.GET)
loaded = paginatior.page(page)
context = {
'ArtiInfo':loaded
}
return render(request,'index.html',context)
注意,上面html中使用的ArtiInfo不是models.py中定义的类,而是在views.py中的context字典中的键ArtiInfo
django中的分页设置的更多相关文章
- Django中的分页,cookies与session
cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...
- django中mysql数据库设置错误解决方法
刚在django中settings.py进行设置mysql数据库. 当进行执行python manage.py shell命令时会报以下错误: 只需要在settings.py中 DATABASES = ...
- Django 中文和时区设置
Django 语言和时区的设置都在 settings.py 文件中. 中文设置 LANGUAGE_CODE:设置语言,英语 en-us,中文简体 zh-Hans,中文繁体 zh-Hant 在 MIDD ...
- Python Django 中的STATIC_URL 设置和使用解析
使用Django静态设置时,遇到很多问题,经过艰苦的Baidu, stack overflow, Django原档阅读,终于把静态图片给搞出来了.特记录下来. 关键的概念:Django中,静态资源的存 ...
- django中的分页管理
有时,展示的对象太多,需要对他们进行分页展示,不能一页把所有的结果都展示出来吧,那样的话,哈哈,挺逗 使用Django分页器功能 从Django中导入Paginator模块(没有的话,自行下载,我是w ...
- Django中的form设置field的html属性
在Django中无论何种field,都有一个widget的属性: class Field(object): widget = TextInput # Default widget to use whe ...
- django中的时区设置TIME_ZONE,USE_TZ
Django如果开启了Time Zone功能,则所有的存储和内部处理,甚至包括直接print显示全都是UTC的.只有通过模板进行表单输入/渲染输出的时候,才会执行UTC本地时间的转换. 所以我建议后台 ...
- Django中的分页操作、form校验工具
批量插入数据 后端: def fenye(request): book_list=[] for i in range(100): book_list.append(models.Book(title= ...
- django中写分页
1.引用函数import from django.core.paginator import Paginator 2.分页 page_obj = Paginator(Article.objects.a ...
随机推荐
- c# winform 应用程序根据条件阻止窗口关闭
//添加窗口关闭事件委托 在窗口关闭事件中处理 private void TestForm_FormClosing(object sender, FormClosingEventArgs e) { s ...
- lightoj1132—Summing up Powers (取膜技巧&&组合数应用)
题目链接:https://vjudge.net/problem/LightOJ-1132 题目意思:(1K + 2K + 3K + ... + NK) % 232 矩阵快速幂的题目一般都很短,这道题也 ...
- netty/example/src/main/java/io/netty/example/http/snoop/
netty/example/src/main/java/io/netty/example/http/snoop at 4.1 · netty/netty https://github.com/nett ...
- Google发布机器学习术语表 (包括简体中文)
Google 工程教育团队已经发布了多语种的 Google 机器学习术语表,该术语表中列出了一般的机器学习术语和 TensorFlow 专用术语的定义.语言版本包括西班牙语,法语,韩语和简体中文. 查 ...
- 627. Swap Salary
627. Swap Salary SQL Schema Given a table salary, such as the one below, that has m=male and f=femal ...
- Commons Email使用
Apache Commons Email Apache的一个开源项目,是基于另一个开源项目Java Mail上进行封装的,使用起来更加简单方便: http://commons.apache.org/p ...
- 创建JOB定时执行存储过程
创建JOB定时执行存储过程有两种方式 方式1:通过plsql手动配置job,如下图: 方式2:通过sql语句,如下sql declare job_OpAutoDta pls_integer;--声明一 ...
- Flask系列(十)自定义Form组件
一.wtforms源码流程 1.实例化流程分析 # 源码流程 1. 执行type的 __call__ 方法,读取字段到静态字段 cls._unbound_fields 中: meta类读取到cls._ ...
- 控制台应用程序中添加对MFC的支持
在windows控制台应用程序中,肯能会想使用一些MFC中的类,如CStringArray等,通过下面两步简单的设置可以添加对MFC的支持: 1.右击工程名 -> References 选择 A ...
- MFC中对基于ODBC对数据ACCESS数据库的增删改查。
在MFC中可以使用很多方法对数据库进行操作. 什么ODBC 什么ADO之类的,这里要介绍使用的ODBC这种方法,通过本文的阅读可以达初步掌握在MFC里面通过ODBC访问ACCESS数据库. 涉及到的 ...