Django框架基础知识10-内置分页系统
from django.shortcuts import render, redirect, reverse
from datetime import datetime
# Create your views here.
from django.http import HttpResponse, JsonResponse
from django.template.loader import get_template
from teacher.models import Student, StudentDetail, Grade
from crm.settings import UPLOAD_ROOT
from django.db.models import Q
from django.core.paginator import Paginator
def index(request):
students = Student.objects.all()
arg = {
'_meta': 'asdfadsfa'
}
format_str = '%Y-%m-%d %H:%M:%S'
return render(request, 'teacher/index.html', context={
'students': students,
'format_str': format_str,
'arg': arg
})
def login(request):
# url = reverse('teacher:detail', kwargs={'pk': 12})
# return redirect(url) # 硬编码
if request.method == 'POST':
username = request.POST.get('username', '')
password = request.POST.get('password', '')
if username == 'qixiang' and password == '123456':
return redirect(reverse('teacher:index'))
return render(request, 'teacher/login.html')
def detail(request, pk):
# pk 一般是个id 是整数 primary key
return HttpResponse('学生id为%s的详情页' % pk)
def students(request):
section = '学生列表'
# 获取查询参数
search = request.GET.get('search', '').strip()
if search:
if search.isdigit():
# 是qq,或者电话号码
sts = Student.objects.filter(Q(qq=search)|Q(phone=search), is_deleted=False).order_by('-e_time')
else:
# 说明是姓名
sts = Student.objects.filter(name__contains=search, is_deleted=False).order_by('-e_time')
else:
sts = Student.objects.filter(is_deleted=False).order_by('-e_time')
# 当前页码
page = request.GET.get('page', 1)
page = int(page)
# 每页显示多少数据
per_page = request.GET.get('per_page', 10)
per_page = int(per_page)
paginator = Paginator(sts, per_page) #将查询对象进行分页
sts = paginator.get_page(page) # 当前页的数据
return render(request, 'teacher/students.html', context={
'students': sts,
'section': section,
'search': search,
'per_page': per_page,
'page': page,
})
def students_api(request):
sex = request.GET.get('sex')
sex = int(sex)
students = Student.objects.values('name', 'age', 'sex', 'phone').filter(sex=sex)
students = list(students)
res = {'data': students}
return JsonResponse(res)
Django框架基础知识10-内置分页系统的更多相关文章
- Django框架基础知识01-配置环境
Django框架 Django是个怎样的东西呢? Web应用框架----Django http服务器:用来接受用户请求,并将请求转发给web应用框架进行处理. Web应用框架处理完以后再发送给htt ...
- Django框架基础知识08-表关联对象及多表查询
1.自定义主键字段的创建 AutoFiled(pirmary_key=True) # 一般不会自定义,int类型,自增长 一般不自定义主键. 2.order_by asc desc from djan ...
- Django框架基础知识13-auth系统
我们昨天登录admin时创建的用户信息是存放在哪里了呢? auth系统的数据表: 从表的名称我们就能看出, auth_user,auth_group,auth_permission分别存放了用户,用户 ...
- Django框架基础知识05-自定义模板标签与过滤器
根据一定规则,自己定义出符合需求功能的.用在任何你有需求的地方,因为内置的满足不了我们的需求,不同的东西有不同的定义规则 目前最最重要的就是HOW 一 文件路径配置: templates 存放自定义 ...
- 1.18 Python基础知识 - Python内置函数
官方地址:https://docs.python.org/3.5/library/functions.html abs(x): 返回数字的绝对值 all(iterable): 如果迭代器的所有元素都为 ...
- [python基础知识]python内置函数map/reduce/filter
python内置函数map/reduce/filter 这三个函数用的顺手了,很cool. filter()函数:filter函数相当于过滤,调用一个bool_func(只返回bool类型数据的方法) ...
- Django框架基础知识12-中间件及上下文处理器
Django中间件(Middleware) 是一个轻量级.底层的“插件”系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出. django 中的中间件(middleware) ...
- Django框架基础知识14-类视图
MTV view视图 wsgi函数 def index(request): .... return HttpResponse() 特定的HTTP方法.get,post可以定义单独的方法 继承,多继承, ...
- Django框架基础知识11-会话状态保持及表单
浏览器存储cookie的方式不太安全,那有没有更好些的来存储登入状态的方式呢??? 状态保持----cookie和session: 状态保持: 1.http协议是无状态的:每次请求都是一次新的请求,不 ...
随机推荐
- 浅谈单调栈 By cellur925
这位dalao的单调栈文章很棒!我写的是他的题单233. http://www.cnblogs.com/COLIN-LIGHTNING/p/8474668.html 一.单调栈的一般写法 ;i< ...
- 组件的 state 和 setState
state 我们前面提到过,一个组件的显示形态是可以由它数据状态和配置参数决定的.一个组件可以拥有自己的状态,就像一个点赞按钮,可以有“已点赞”和“未点赞”状态,并且可以在这两种状态之间进行切换.Re ...
- Python 版本对比
python2 与 python3可认为代码不通用,你也可以点击Python2.x与3.x版本区别来查看两者的不同 python3.6以上支持f-string,一种很方便的变量替换方式 高版本可能 ...
- VCS filelist 文件格式
VCS在运行仿真一般都会加仿真参数 –f filelist,filelist 是包含其他的仿真参数和整个工程的文件列表.具体格式如下: //file list format, just for exa ...
- iPhone4 offical AD
iPhone4 is so much more than just a new products.I mean this would have a lot of impact on the way i ...
- laravel之伪造跨站请求保护CSRF实现机制
Laravel 提供了简单的方法使你的应用免受 跨站请求伪造 (CSRF) 的袭击.跨站请求伪造是一种恶意的攻击,它凭借已通过身份验证的用户身份来运行未经过授权的命令. Laravel 为每个活跃用户 ...
- chrome调试之Workspaces
可通过workspaces来编辑本地文件 workspaces是Chrome DevTools的一个强大功能,这使DevTools变成了一个真正的IDE.Workspaces会将Sources选项卡中 ...
- spring 常见的注解
spring中的注解都必须在配置文件中进行如下的配置: <context:component-scan base-package="com.shanjin.oxm.service.im ...
- Hyperledger(超级账本)的worldstate和SAP CRM的CRMD_CUMULAT_H
Hyperledger fabric是基于区块链技术的一个开源项目,由Linux基金会于2015年发起,目的是推进区块链数字技术和交易验证的发展和落地. Hyperledger由多个区块构成了一个有序 ...
- 用python+pygame写贪吃蛇小游戏
因为python语法简单好上手,前两天在想能不能用python写个小游戏出来,就上网搜了一下发现了pygame这个写2D游戏的库.了解了两天再参考了一些资料就开始写贪吃蛇这个小游戏. 毕竟最开始的练手 ...