技术标签: django
class APIViewPageNumberPaginations():
from rest_framework.pagination import PageNumberPagination
class APIViewBasePaginations(PageNumberPagination):
page_size = 2 # 每页数据量
page_query_param = 'page' # ?page=1跳转页
max_page_size = 10 # 每页最大数据量
page_size_query_param = 'size'
def __init__(self, request, serializer, queryset):
'''
:param request: 当前的请求
:param serializer: 模型类的序列化器
:param queryset: 要操作的模型对象
'''
self.request = request
self.serializer = serializer
self.queryset = queryset
def start(self):
# 1、实例分页对象
paginat = self.APIViewBasePaginations()
# 2、拿到分页后的数据
page_list = paginat.paginate_queryset(queryset=self.queryset, request=self.request, view=self)
# 3、对分页后的数据将进行序列化
ser = self.serializer(instance=page_list, many=True)
count = paginat.page.paginator.count # 总数据量
next_page = 1 if paginat.get_next_link() else 0 # 有下一页,返回1,没有返回0
previous_page = 1 if paginat.get_previous_link() else 0 # 有上一页时,返回1,没有返回0
page_size = paginat.page_size # 每页大小
pages = count // page_size # 总页数
current_page = self.request.query_params.get('page')
try:
current_page = int(current_page)
except Exception as e:
current_page = 'error'
if count % page_size:
pages += 1
return {
'data': ser.data, # 当前页的数据
'next': next_page, # 是否有下一页
'previous': previous_page, # 是否有上一页
'count': count, # 总数据量
'pages': pages, # 总页数
'current_page': current_page # 当前的页数
}
class UserInfoAPIView(APIView):
#只有管理员才能使用,获取用户信息
permission_classes = [permission.AdminPermission]
def get(self, request):
'''
功能:返回用户信息(除了role=1的用户,管理员用户信息不展示)
:return:
'''
#搜索的参数
name = request.query_params.get('name')
role = request.query_params.get('role')
# 1、拿到数据集
instance = models.UserModel.objects.filter(role__gt=1).order_by('id')
if name and name!='全部':
instance = instance.filter(name__contains=name)
if role and role!='全部':
instance = instance.filter(role=role)
# 2、拿到序列化器
ser = serializer.UserInfoModelSerializer
# 3、实例化化分页对象,
paginat = APIViewPageNumberPaginations(request, ser, instance)
# 4、执行分页功能,拿到分页后的数据
data = paginat.start()
return Response(data=data)
文章浏览阅读2.2k次。安装sshroot@ubuntu: apt-get install openssh-server安装后需要启动sshroot@ubuntu: /etc/init.d/ssh restart允许root登录需要修改配置信息root@ubuntu: vi /etc/ssh/sshd_config修改为:修改保存后再重启sshroot@ubuntu: /etc/init.d..._ubuntu16.04重装ssh
文章浏览阅读1.1k次。今天做一个FPS游戏的时候,由于我做的是第三人称的射击,所以需要一个枪的红外线瞄准的效果。一开始我在枪上挂一个很细很长的聚光灯,瞄准远处物体的时候,看起来有点红外线的样子,但是靠近之后光线就变成一个手电筒的那种光,不是我想要的效果。后来我用粒子特效,虽然远处近处都是一条射线,但是效果很粗糙,不是那种细细的有穿透的感觉,而是像激光一样,而且感觉不断生成粒子,性能消耗会很大。最后..._unity红外线效果
文章浏览阅读3.3k次。使用方法:frd(resp,freq)其中resp是取样点,freq是频率函数方程,而frd以resp为freq的输入计算频率响应输出,并将该输出和输入resp对应的组合在一起,得到类型为frd的频率响应模型示例:在10到100之间取50个对数间距点,以y=0.05xexp(i2*x)为频率响应方程>> freq = logspace(1,2)>> resp = .05*(freq).*exp(i*2*freq)>> sys = frd(resp,freq)_matlab frd函数
文章浏览阅读1.9w次,点赞39次,收藏183次。AIGC元年达到了学术-商业共振,本文介绍现有AI绘画、AI作画背后的相应基本原理、应用、以及论文参考文献。_ai绘画技术原理
文章浏览阅读2.2k次,点赞2次,收藏18次。文章目录1、Xpath介绍2、Xpath路径表达式3、结合实例讲解1、Xpath介绍 XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。2、Xpath路径表达式表达式描述nodename选取此节点的所有子节点。/从根节点选取。//从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。.选取当前节点…选取当前节点的父节点_python xpath 等于class的标签
文章浏览阅读2.1k次。2020下半年,随着直播带货行业发展势头越来越猛,各大电商平台纷纷涉足直播电商,普通人也跃跃欲试想要加入直播带货,那么普通人该如何选择直播平台呢,这要根据每个人的自身条件,不管做抖音还是快手,初始最重要的就是涨粉,今天小编分享的是新人做抖音快手直播如何快速涨粉的技巧。说到抖音快手涨粉,最暴力的莫过于上热门,一个视频上热门,涨粉可能就有好几万,比如之前有个直播睡觉,一夜爆红的主播,一天时间涨粉几百万,一晚收入70多万,不知道羡煞多少旁人。了解抖音快手上热门的机制是怎样的!抖音快手热门视频推荐机制,或者_快手作品上了小热门后应该怎么做
文章浏览阅读1.4w次,点赞19次,收藏52次。2019年8月15日,因员工李某在合资公司接私活,九次方大数据信息集团有限公司(以下简称:九次方公司)将其开除,被法院判定赔偿李某20.7万元,双方在违法解除劳动合同赔偿金存争议,经二审判决,驳回九次方上诉请求,维持原判。12月2日,中国裁判文书网公布了这起劳动争议的民事判决书。图源:中国裁判文书网接私活应不应该被公司开除?从法院公布的文书中,我们理清了事件的来龙去脉。原、被告主张九次方公司向一审法院起诉请求:判令九次方公司无须向李某支付违法解除劳动合同赔偿金20.7万元。_接私活赔偿案例
文章浏览阅读117次。react-native-html-renderA html render for react-native. But don't Suitable for all html. Only Suitable for the html generator by markdown with minify.Now it used by Noder.Be careful to use, the perfor..._react native render html 阅读器
文章浏览阅读449次。智慧楼宇调度,是在保证社区负荷需求的情况下,通过储能设备的指令控制,以**用电经济性、环保性和对电网稳定性**为综合目标的一种调度场景。_mindopt
文章浏览阅读2.6k次。前言,前几个月泛泛的看了一下c++的相关书籍。在看的过程中,做几个例子啥的没啥感觉。但是在整合起来的过程中还是发现了蛮多问题。_java调用c++动态库
文章浏览阅读7.7k次,点赞3次,收藏17次。首先简要地说说共指消解是什么,有什么用处。假设机器正在阅读一个这样的文本: 克劳德·莫奈是印象派代表人物和创始人之一。 他最重要的风格是改变了阴影和轮廓线的画法。如果机器想要从这段话中了解到关于莫奈风格的知识,它首先必须知道,第二句话中的“他”指的就是莫奈。弄清代词的指代就是共指消解中的一个典型任务。NeuralCoref是使用时下先进神经网络技术完成指代消解任务的一个工具。_neuralcoref.neuralcoref.array
文章浏览阅读4.9k次,点赞3次,收藏14次。在给一个项目写可视化的时候,项目需要用iperf3来进行网络测试。遇到了subprocess与多线程问题,后来解决_iperf3多线程测试方法