用户管理之用户的查询获取
用户管理
在用户页面我们需要完成两个功能:
1、用户信息的查询获取
2、增加用户
用户的查询获取
【获取单一数据和多个数据可以通过判断合并到一块写代码】
接口分析
请求方式:GET /meiduo_admin/users/?keyword=<搜索内容>&page=<页码>&pagesize=<页容量>
from .views import statistical, users#-------用户管理---------url(r'^users/$',users.UserView.as_view()),
请求参数: 通过请求头传递jwt token数据。
参数 | 类型 | 是否必须 | 说明 |
---|---|---|---|
keyword | str | 否 | 搜索用户名 |
page | int | 否 | 页码 |
pagesize | int | 否 | 页容量 |
返回数据: JSON
{"counts": "用户总量","lists": [{"id": "用户id","username": "用户名","mobile": "手机号","email": "邮箱"},...],"page": "页码","pages": "总页数","pagesize": "页容量"}
返回值 | 类型 | 是否必须 | 说明 |
---|---|---|---|
count | int | 是 | 用户总量 |
Lists | 数组 | 是 | 用户信息 |
page | int | 是 | 页码 |
pages | int | 是 | 总页数 |
pagesize | int | 是 | 页容量 |
后端实现
from rest_framework.generics import ListAPIView
from meiduo_admin.serializers.user import UserSerializer
from meiduo_admin.utils import UserPageNum
from users.models import Userclass UserView(ListAPIView):# 指定使用的序列化器serializer_class = UserSerializer# 指定分页器pagination_class = UserPageNum# 重写get_queryset方法,根据前端是否传递keyword值返回不同查询结果def get_queryset(self):# 获取前端传递的keyword值keyword = self.request.query_params.get('keyword')# 如果keyword是空字符,则说明要获取所有用户数据if keyword is '' or keyword is None:return User.objects.all()else:return User.objects.filter(username=keyword) # 获取单一用户数据,这儿也可以使用模糊查询:username__contains=keyword
指定序列化器:
from rest_framework import serializers
from users.models import Userclass UserSerializer(serializers.ModelSerializer):class Meta:model = Userfields = ('id', 'username', 'mobile', 'email')
指定分页器:【meiduo_admin.utils.pagenum】
from rest_framework.pagination import PageNumberPagination
from rest_framework.response import Responseclass UserPageNum(PageNumberPagination):page_size = 5 # 后端指定每页显示数量page_size_query_param = 'pagesize'max_page_size = 10# 重写分页返回方法,按照指定的字段进行分页数据返回def get_paginated_response(self, data):return Response({'count': self.page.paginator.count, # 总数量'lists': data, # 用户数据'page': self.page.number, # 当前页数'pages': self.page.paginator.num_pages, # 总页数'pagesize': self.page_size # 后端指定的页容量})
postman测试:
用户管理之用户的查询获取相关推荐
- 用户管理 之 用户(User)和用户组(Group)配置文件详解
作者:北南南北 来自:LinuxSir.Org 摘要:本文详解用户(User)和用户组(Group)的配置文件,本文是<Linux 用户(User)和用户组(Group)管理概述>文档的关 ...
- linux设置用户密码、查看linux用户信息、root用户管理普通用户(passwd命令使用)
1 切换root用户和给root用户设置密码 1.1 切换到root用户 1.使用su 命令 或 su root命令切换到root用户的时候报错:su: Authentication failure ...
- 17joys用户管理 添加用户
17joys用户管理 添加用户 添加用户是我们写的第一个管理操作,以后类似的添加操作都可以模仿此操作编写 首先先上代码,下面的代码要放在UserAction类中 function add(){$rol ...
- linux服务器用户组和权限管,linux 用户管理,用户权限管理,用户组管理
linux 用户管理,用户权限管理,用户组管理 一:ls -l 命令 解释 第个d表示是目录,如果是文件是-,如果是连接是l 第2到4个 rwx 表示创建者的操作权限 r 读,w 写,x 执行 第5到 ...
- Linux 指令——文件和用户管理以及用户权限
Linux 指令--文件和用户管理以及用户权限 方便快捷指令 文件和用户管理 文件管理 文件管理命令 参数 例子 vim指令 用户管理 管理用户指令 参数 例子 用户权限 用户权限命令 ACL用户权限 ...
- 详解Linux系统的用户管理——添加用户、删除用户、查询用户信息、切换用户、用户组
Linux系统的用户管理 用户管理的规则 添加用户 基本语法 实际案例 细节说明 给用户指定或者修改密码 基本语法 应用案例 删除用户 基本语法 应用案例 删除用户注意事项 查询用户信息 基本语法 应 ...
- 【学生管理系统】用户管理之用户登录
目录 2. 用户管理 2.1 环境搭建 2.1.1 前端环境 2.1.2 后端环境(9000) 2.2 用户登录 2.2.1 需求 2.2.2 后端实现 2.2.3 前端实现 2.3 首页 2.3.1 ...
- 尚医通 (二十)就诊人用户管理 | 平台用户管理
目录 一.就诊人管理需求和接口开发 1.需求 2.就诊人管理接口 二.就诊人管理前端整合 1.封装api请求 2.就诊人列表 3.就诊人添加与修改 4.就诊人详情与删除 三.平台用户管理-用户列表 1 ...
- mysql 用户管理_mysql 用户管理及数据权限问题总结
1.远程登录mysql mysql -h ip -u root -p 密码 2.创建用户 格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码 ...
最新文章
- Oracle 11g r2 安装
- python程序员工资低吗-程序员嫌工资低拒绝offer,HR:估计你一辈子就是个程序员...
- 算法设计与分析:芯片测试问题、选择问题详解
- 关于scanf和cin的大数据读入效率
- zabbix中文配置指南
- 软件需求与分析——大二下需会知识点
- LINUX下载编译OpenSSL
- JavaWeb项目-图书管理系统
- 【190111】VC+Access工程信息管理系统源代码
- 细数百度小程序踩的坑
- 一张图理解栈顶指针加加减减的问题
- 保利威视sdk与腾讯bugly 冲突解决方案
- 查看kms服务器客户端信息,KMS 服务器测试
- C++ enum前置声明
- 都说打印机又笨又丑 这一回联想小新给你好看!
- 群里关于一个硬件电路的讨论,纹波大导致烧坏主芯片
- 王垠 我和Google的故事
- Xcode4 修改公司名称
- 面向对象:待到山花烂漫时,她在丛中笑
- 2022年通信专业技术人员职业水平考试
热门文章
- 200万注册开发者,13亿全景图片,90%数据生产AI化,百度地图如何造生态?
- ​炸了!程序员现在没有这点技能都还不能就业了?
- 保障数据安全,强调科技向善,旷视发布《人工智能应用准则》
- 微信是把“杀猪刀”,还改变了我的表情包
- 吴恩达与LG握手合作!
- 看动画轻松理解“递归”与“动态规划”
- 印度小哥“神剑”:PDF提取表格so easy!
- 0.38秒!MIT 机器人还原3阶魔方的时间再破记录
- AI一分钟 | “钢铁侠”马斯克冒冷汗直面跳票尴尬;Apollo2.0确定下个月初出征美国,李彦宏发力全球梦
- IT界惊现文豪!华为领导及阿里P10遭吐槽