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 ...
随机推荐
- Vue -- webpack 项目自动打包压缩成zip文件
这段时间用 Vue2.0 开发项目,每次打包都会用到 npm run build 命令,但是每次部署时给后端发包都要手动zip压缩,这样一两次还行,但遇到项目板块测试和临时加急功能测试的时候,一天可能 ...
- JAVA 实现 QQ 邮箱发送验证码功能(不局限于框架)
JAVA 实现 QQ 邮箱发送验证码功能(不局限于框架) 本来想实现 QQ 登录,有域名一直没用过,还得备案,好麻烦,只能过几天再更新啦. 先把实现的发送邮箱验证码更能更新了. 老规矩,更多内容在注释 ...
- JDK7下VisualVm插件无法链接到插件中心
VisualVM 是一款免费的,集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优.这些功能包括生成和分析海量数据.跟踪内存泄漏.监控垃 ...
- maven学习笔记--window平台下的安装和一些基本的配置
maven官网:http://maven.apache.org/ 系统要求如下: 安装及配置步骤 (1)下载:到Maven 的官网上去下载windows版本的Maven的安装包!下载对应的zip 格式 ...
- Docker相关概念
一.概念 ①云计算:是一种资源的服务模式,该模式可以实现随时随地,便捷按需地从可配置计算资源共享池中获取所需的资源(如网络.服务器.存储.应用及服务),资源能够快速供应并释放,大大减少了资源管理工作的 ...
- Leetcode题解之Valid Palindrome II
1.题目描述 2.问题分析 使用两个下标,检测下标对应的字符是否相等,若不相等,则考察子串. 3.代码 bool validPalindrome(string s) { , j = s.size()- ...
- zabbix agent 3.4 安装指南
从官方网站www.zabbix.com 下载zabbix agent安装包.目前最新版本是4.0 LTS release. 在需要监控的服务器上安装zabbix agent. 先解压安装包. 配置 c ...
- 光杆mdf文件的导入
场景,准备学习SSAS的时候,按照教程在微软下载了示例数据库AdventureWorksDW2012,下载来才发现只有一个mdf文件. 正好今天群里有位兄弟也碰到差不多的问题,客户数据库里的ldf文件 ...
- MySQL安全策略
0.导读 MySQL被运用于越来越多的业务中,在关键业务中对数据安全性的要求也更高,如何保证MySQL的数据安全? MySQL被运用于越来越多的业务中,在关键业务中对数据安全性的要求也更高,如何保证M ...
- MySQL自带的性能压力测试工具mysqlslap
mysqlslap是从MySQL的5.1.4版开始就开始官方提供的压力测试工具. 通过模拟多个并发客户端并发访问MySQL来执行压力测试,同时提供了较详细的SQL执行数据性能报告,并且能很好的对比多个 ...