day76
1 ajax 什么是ajax:异步的JavaScript 和xml
2 特点:异步,局部刷新
3 简单的与后台交互:(携带数据:可以拼到url上---->从GET中取,)
$.ajax({
url:请求的地址,
type:请求方式,(post,get....)
//contentType:'application/json',(默认:urlencoded)
data:{},往后台发送的数据
success:function (data){
//data的数据类型,不一定
//异步的,成功返回,才能回调
}
})
-携带数据:
-可以拼到url上---->从GET中取
-默认urlencoded编码和formdata,放到data中的数据,------>POST
今日内容:
-干啥的?数据量大的话,可以分页获取,查看
基本写法:
后端:
-总数据拿出来
-生成分页器Paginator对象(对象里有属性和方法)
-生成当前页的对象,current_page=paginator.page(当前页码)
-取出前台传过来的页码,current_page_num = int(request.GET.get('page'))
-需要有异常捕获
-捕获到,把当前页码设置成第一页
def manypage(request):
try:
page = int(request.GET.get('p'))
books = models.Book.objects.all()
paginator = Paginator(books, 10)
current_page = paginator.page(page)
if paginator.num_pages > 11:
if page - 5 < 1:
page_range = range(1, 12)
elif page + 5 > paginator.num_pages:
page_range = range(paginator.num_pages - 10, paginator.num_pages + 1)
else:
page_range = range(page - 5, page + 6)
else:
page_range = paginator.page_range
except Exception as e:
page = 1
current_page = paginator.page(page)
page_range = range(1, 12)
return render(request, 'manypage.html', locals())
前端:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>index</title>
<script src="/static/jquery-3.3.1.js"></script>
<link rel="stylesheet" href="/static/bootstrap-3.3.7-dist/css/bootstrap.min.css">
</head>
<body> <div class="col-md-offset-3 col-md-6">
<table class="table table-striped">
<thead>
<tr>
<th>书名</th>
<th>价格</th>
</tr>
</thead>
<tbody>
{% for book in current_page %}
<tr>
<td>{{ book.name }}</td>
<td>{{ book.price }}</td>
</tr>
{% endfor %}
</tbody>
</table>
<nav aria-label="Page navigation">
<ul class="pagination">
{% if current_page.has_previous %}
<li>
<a href="?p={{ current_page.previous_page_number }}" aria-label="Previous">
<span aria-hidden="true">上一页</span>
</a>
</li>
{% else %}
<li class="disabled">
<a href="#" aria-label="Previous">
<span aria-hidden="true">上一页</span>
</a>
</li>
{% endif %}
{% for num in page_range %}
{% if num == page %}
<li class="active"><a href="?p={{ num }}">{{ num }}</a></li>
{% else %}
<li><a href="?p={{ num }}">{{ num }}</a></li>
{% endif %}
{% endfor %}
{% if current_page.has_next %}
<li>
<a href="?p={{ current_page.next_page_number }}" aria-label="Next">
<span aria-hidden="true">下一页</span>
</a>
</li>
{% else %}
<li class="disabled">
<a href="#" aria-label="Next">
<span aria-hidden="true">下一页</span>
</a>
</li>
{% endif %}
</ul>
</nav>
</div>
</body>
</html>
批量插入输入:
-models.Book.objects.bulk_create(ll)
day76的更多相关文章
- day76 auth模块 用户验证,
概要: form组件回顾: (1) 创建form组件对应的类,比如LoginForm (2) views.login: if get请求: form_obj=LoginForm() return re ...
- python 全栈开发,Day76(Django组件-cookie,session)
昨日内容回顾 1 json 轻量级的数据交换格式 在python 序列化方法:json.dumps() 反序列化方法:json.loads() 在JS中: 序列化方法:JSON.stringfy() ...
- day76 作业
目录 需求: 作业1: 作业2: 需求: 1. 在作业1.html代码的基础上,引入vue.js文件,并实例化vm对象,绑定#goods元素 2. 在作业1.html代码的基础上,默认中间弹出窗口隐藏 ...
- day76 vue框架入门
目录 一.vue.js快速入门使用 1 vue.js库的下载 2 vue.js库的使用 3 vue.js的M-V-VM思想 4 显示数据 二.常用指令 1 操作属性 2 事件的绑定 3 样式操作 3. ...
- day76:luffy:项目前端环境搭建&轮播图的实现
目录 1.项目前端环境搭建 1.创建项目目录 2.前端初始化全局变量和全局方法 3.跨域CORS 4.axios配置 2.轮播图功能的实现 1.安装依赖模块 2.上传文件相关配置 3.注册home子应 ...
- 100 天从 Python 新手到大师
Python应用领域和就业形势分析 简单的说,Python是一个“优雅”.“明确”.“简单”的编程语言. 学习曲线低,非专业人士也能上手 开源系统,拥有强大的生态圈 解释型语言,完美的平台可移植性 支 ...
- Django基础模型层(77-78)
jango框架之模型层(d77-78)一 单表操作: 1 mysql数据库:settings里配置 'default': { # key值必须都是大写 'ENGINE': 'django.d ...
- 模拟django配置环境进行数据增删改查,测试的时候有用
import os if __name__ == '__main__': os.environ.setdefault('DJANGO_SETTINGS_MODULE','day76.settings' ...
- ORM表操作
1.在python脚本中调用django环境 在根文件夹下,创建test.py文件 import os if __name__ == '__main__': os.environ.setdefault ...
随机推荐
- python-适配器模式
源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 为了解决接口不兼容的问题引进一种接口的兼容机制,就是适配器模式,其通过提供一种适 ...
- git 本地安装
一.基本安装 1.下载Git 官方地址为:https://git-scm.com/download/win 2.下载完之后,双击安装,全部选择默认. 3.选择安装目录 4.选择组件 5.开始菜单目 ...
- 设计模式原则(6)--Open-Closed Principle(OCP)--开闭原则
作者QQ:1095737364 QQ群:123300273 欢迎加入! 1.定义: 一个软件实体应当对扩展开放,对修改关闭.即软件实体应尽量在不修改原有代码的情况下进行扩展. 2.使用场 ...
- 洛谷P3313 [SDOI2014]旅行(树链剖分 动态开节点线段树)
题意 题目链接 Sol 树链剖分板子 + 动态开节点线段树板子 #include<bits/stdc++.h> #define Pair pair<int, int> #def ...
- (转)预处器的对比——Sass、LESS和Stylus
英文原文:http://net.tutsplus.com/tutorials/html-css-techniques/sass-vs-less-vs-stylus-a-preprocessor-sho ...
- OpenCV多版本管理
OpenCV在Ubuntu下经常会安装多个版本,比如默认版本,自己安装的,ros安装的等等.有时候需要给程序指定某个OpenCV版本,网上有一些方法,但还是会遇到很多问题. 这里提供一种选择,即指定O ...
- 存折打印机测量和毫米方式Form配置说明
一.打印一把尺子(单位:mm) 存折打印机测试程序:D:\Inspur\InspXfs\Bin\InspPassbook\NuDevPassbookTest.exe .) 二.测量存折(横向和纵向) ...
- MVC与单元测试实践之健身网站(一)-项目概述
前不久刚刚通过租房网站的开发学习了MVC,并随后学习了单元测试相关的基础,现在开始健身网站的开发,该项目将结合MVC与单元测试,在开发实践过程中,趁热打铁,巩固并运用之前的内容. 一 健身网站功能描述 ...
- LeetCode题解之Palindromic Substrings
1.问题描述 2.问题分析 对于每一个字符,以该字符为中心计算回文个数. 3.代码 int countSubstrings(string s) { ; ) ; ; i < s.size(); i ...
- kafka入门2:java 创建及删除 topic
1.pom <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka_2.1 ...