Django(2)——运用数据库为你的网页添加翻页功能
来源:互联网 发布:龙卷风浏览器 mac 编辑:程序博客网 时间:2024/09/21 06:37
Django(2)——运用数据库为你的网页添加翻页功能
对于这个功能,我们要对你的app文件下的几个子文件进行更改:
1、首先是models.py文件
from django.db import models# Create your models here.from mongoengine import *from mongoengine import connectconnect('ceshi', host='127.0.0.1', port=27017)class ArtInfo(Document): title = StringField() type = StringField() price = StringField() new = StringField() url = StringField() place = StringField() time = StringField() #必须列出你数据库中所有的数据项,否则会出错; meta = {'collection' : 'ganji_info'} #这里是告知数据源具体是哪张表;
我的数据库中的数据项是这样的:
2、接着是view.py文件
from django.shortcuts import renderfrom django.core.paginator import Paginatorfrom django_web.models import ArtInfodef index(request): limit = 5 #这里是,每页限制的信息条数 art_info = ArtInfo.objects#[:30] #设置需要遍历的信息条数,最后的话就把这个删了就行了; paginater = Paginator(art_info, limit) #设置分页信息; page = request.GET.get('page', 1) loaded = paginater.page(page) # content = { # 'title' : art_info[0].title, # 'des' : art_info[0].type, # 'score' : art_info[0].price, # 'tag' : art_info[0].new # } content = { 'ArtInfo' : loaded, 'counts' : art_info.count(), 'last_time' : art_info.order_by('-pub_data').limit(1), } return render(request, 'index_data.html', content)
3、修改templates文件下面的html文件;
由于打字说起来比较麻烦,所以我直接用两个网页文件代码进行说明;
{% load static %} #这个应该很熟悉了吧!<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>A AWESOME WEB !</title> <link rel="stylesheet" href="{% static 'css/semantic.css'%}"> <script src="{% static 'js/jquery.min.js' %}"></script> <script src="{% static 'js/semantic.js' %}"></script> <script src="{% static 'js/Highcharts.js' %}"></script> <script src="{% static 'js/highcharts-more.js' %}"></script> <script src="{% static 'js/exporting.js' %}"></script> </head> <body> <div class="ui thin visible left sidebar inverted vertical menu"> <div class="header item"> <img src="{% static 'images/logo2.png' %}"> #图片这个路径当然也要改了; </div> <div class="item"> Doucument <i class="browser icon"></i> </div> <div class="item"> Charts <i class="bar chart icon"></i> </div> <div class="item"> Others <i class="idea icon"></i> </div> </div> <div class="pusher"> <div class="ui menu"> <div class="header item" id="menu"> Menu <i class="content icon"></i> </div> <div class="item"> About us </div> <div class="item"> Location </div> <div class="item"> Others </div> </div> {% block content %}{% endblock %} #这里,看这里,这里才是最精华的部分; </div> </body></html>
紧接着我们来看下一个文件;
如果你有一个网站,大概有一千个网页,你不会这一千多个网页全部都是你自己写吧;所以呢,我们将模板相同的网页中不同的部分拿出来,这样的话用的时候再添加进来这样不是极大的降低了我们重复工作吗?
{% extends 'index.html' %} #这句话表名你要往那个文件中添加;{% block content %} #这个则与上面的相呼应,必须要写; <div class="ui equal width grid" style="width: 70%; margin:5px 0 5px 0; "> <div class="row"> <div class="column"> <div class="ui red segment"> <div class="ui statistic"> <div class="value"> {{ counts }} #这个counts就是view.py文件中的变量; </div> <div class="label"> Douments </div> </div> </div> </div> <div class="column"> <div class="ui blue segment"> <div class="ui statistic"> <div class="value"> 2,000 </div> <div class="label">Document</div> </div> </div> </div> </div> <div class="row"> <div class="column"> <div class="ui segment"> <div class="ui divide items"> {% for item in ArtInfo %} #这里我们对数据库中的数据进行迭代实现; <div class="item"> <div class="content"> <div class="header"> {{ item.title }} #看,这是标题; </div> <div class="description"> <p>{{ item.new }}</p> #看,这是。。。 </div> <div class="extra"> <div class="ui label"> {{ item.type }} #还有这; </div> </div> </div> </div> {% endfor %} </div> </div> </div> </div> </div>#这里就是我们对翻页功能的实现: <div class="ui small pagination menu"> {% if ArtInfo.has_previous %} #是否含有前一页; <a class="icon item" href="?pag={{ ArtInfo.previous_page_number }}"> #显示前一页的页码; <i class="icon left arrow"></i> </a> {% endif %} <div class="disabled item" > {{ ArtInfo.number }} of {{ ArtInfo.paginator.num_pages }} #显示当前页的页码; </div> {% if ArtInfo.has_next %} #是否含有后一页; <a class="icon item" href="?page={{ ArtInfo.next_page_number }}"> #显示后一页的页码; <i class="icon right arrow"></i> </a> {% endif %} </div>{% endblock %}
然后,基本上就这些东西。后面有错或者是别的我会更新的!
0 0
- Django(2)——运用数据库为你的网页添加翻页功能
- 为你的 Blog 添加“天气预报”功能。
- 为你的 Blog 添加“天气预报”功能。
- 为你的blog添加搜索功能
- DataGridView添加翻页功能
- <hx>标签,为你的网页添加标题
- 为你的网页中添加一些空格
- 为你的网页中添加一些空格
- 使用animate.css为你的网页添加动画
- 为你的 Blog 添加“跟随鼠标的文字”功能。
- 为你的blog添加选中翻译的功能
- 为你的 Blog 添加“状态栏文本”功能。
- [转改]为你的 Blog 添加“天气预报”功能。
- [zt]为你的 Blog 添加“天气预报”功能。
- 为你的wordpress添加显示网站截图功能
- 如何为你的WindowsPhone应用添加市场评分功能
- 3分钟为你的应用添加声波通讯功能
- 3分钟为你的应用添加声波通讯功能
- 【jzoj4711】【Binary】【树状数组】
- 易语言 精益/VIP精益模中的普通填表与网页填表的使用
- 链表中环的入口结点
- 【概念笔记】字节型输入输出流
- 算术表达式的语法分析及语义分析程序设计 —— LR分析法、输出三元式
- Django(2)——运用数据库为你的网页添加翻页功能
- poj2385 Apple Catching
- 关于在APIStore中获取数据
- ZZULI-oj-1919(二分)
- 【docker】docker容器的网络基础
- Activity的四种启动模式
- 爬虫小程序-爬取知乎推荐编辑文章内容
- HPUX上Logical Volume的Online扩展方法
- c++继承下