python
文章平均质量分 60
不知如何
这个作者很懒,什么都没留下…
展开
-
round和format函数区别
#******round()****** ==>string(返回值都是string类型)round(1.234,0)# --> 1.0int(round(1.234,0))# --> 1#---------------------------round(1.234,1)# --> 1.2round(1.234,2)# --> 1.23#----------------------------round(1.26,1)# --> 1.3round(1.25原创 2021-01-14 00:02:12 · 1210 阅读 · 0 评论 -
DRF实战6 - 订单管理
6 - 订单管理6.1.获取订单表表列表数据接口分析请求方式: GET /meiduo_admin/orders/?keyword=<搜索内容>&page=<页码>&pagesize=<页容量>请求参数: 通过请求头传递jwt token数据。返回数据: JSON { "counts": 39, "list": [ { "order_id": "201811原创 2021-01-30 13:51:36 · 227 阅读 · 0 评论 -
DRF实战5 - 商品管理
5 - 商品管理5.1.规格表管理在规格表中我们需要对规格表数据进行增删改查操作,这时候我们可以借助于视图集中的ModelViewset来完成相应的操作5.1.1.查询获取规格表列表数据接口分析请求方式: GET /meiduo_admin/goods/specs/请求参数: 通过请求头传递jwt token数据。返回数据: JSON { "counts": "SPU商品规格总数量", "lists": [ {原创 2021-01-30 13:50:35 · 540 阅读 · 0 评论 -
DRF实战4 - 用户管理
4 - 用户管理在用户页面我们需要完成两个功能:1、用户信息的查询获取2、增加用户4.1.用户的查询获取接口分析请求方式:GET /meiduo_admin/users/?keyword=<搜索内容>&page=<页码>&pagesize=<页容量>请求参数: 通过请求头传递jwt token数据。参数类型是否必须说明keywordstr否搜索用户名pageint否页码pagesizein原创 2021-01-30 13:49:53 · 615 阅读 · 0 评论 -
DRF实战3 - 数据统计
3 - 数据统计在进入到后台页面后,首先我们需要完成如下功能:1、用户总数统计2、日增用户统计3、日活用户统计4、下单用户统计5、月新增用户统计6、商品访问量统计3.1.用户总量统计接口分析请求方式: GET /meiduo_admin/statistical/total_count/请求参数: 通过请求头传递jwt token数据。返回数据: JSON{ "count": "总用户量", "date": "日期"}返回值类型是否原创 2021-01-30 13:49:21 · 840 阅读 · 0 评论 -
DRF实战2 - 管理员登录
2 - 管理员登录后台管理中我们首先需要完成登录功能,我们可以通过改写美多表单登录来完成相应的功能。在后台登录中,由于我们前端服务和后端服务的域名不一样,所以我们首先解决跨域问题。在登录后的状态保持我们采用了JWT的方式2.1.浏览器的同源策略1995年,同源政策由 Netscape 公司引入浏览器。目前,所有浏览器都实行这个政策。同源策略是浏览器的一个安全功能,不同源的客户端脚本(js文件)在没有明确授权的情况下,不能读写对方资源。只有同一个源的脚本赋予dom、读写cookie、session原创 2021-01-30 13:48:34 · 1445 阅读 · 0 评论 -
DRF实战1 - 环境搭建
1 - 项目环境搭建1、前端代码的运行进入meiduo_mall_admin文件目录下,执行如下指令npm run dev出现如下图所示,表示运行成功:2、后端代码的运行1、导入虚拟环境文件pip install -r requeriments.txt# requirements.txt 可以通过pip freeze来生成2、进入数据库创建meiduo数据库mysql -uroot -p create database meiduo charset=utf8;3、导入数据原创 2021-01-30 13:46:55 · 16483 阅读 · 0 评论 -
DRF实战0 - 美多后台管理(DRF实战系列)
美多后台管理Django框架已经提供了一个Admin管理后台,但是Admin的本身的页面可修改的页面布局效果比较少,无法满足公司定制页面需求,这时候就需要独立开发一套后台管理系统,满足公司对后台数据的管理。项目架构开发模式:前后端分离前端框架:VUE后端框架:Django REST framework(DRF)功能部分:管理员登录,数据统计,用户管理,商品管理,订单管理,权限管理主要技术 : JWT用户认证 ,CORS跨域...原创 2021-01-30 13:44:48 · 758 阅读 · 2 评论 -
1、Redis学习
Redis学习目标能够描述出什么是 nosql能够说出 Redis 的特点nosql介绍NoSQL:一类新出现的数据库(not only sql)泛指非关系型的数据库不支持SQL语法存储结构跟传统关系型数据库中的那种关系表完全不同,nosql中存储的数据都是KV形式NoSQL的世界中没有一种通用的语言,每种nosql数据库都有自己的api和语法,以及擅长的业务场景NoSQL中的产品种类相当多:RedisMongodbHbase hadoopCassandra hadoop原创 2021-01-28 12:28:22 · 103 阅读 · 0 评论 -
labuladong算法框架 Python版 之 如何k个一组反转链表
如何k个一组反转链表 递归方式〇、链表实现class Node: def __init__(self,item): self.item = item self.next = Noneclass SingleNode: def __init__(self): self._head = None def is_empty(self): return self._head is None def len原创 2021-01-23 18:45:02 · 252 阅读 · 1 评论 -
labuladong算法框架 Python版 之 反转链表的一部分
反转链表的一部分链表实现class Node: def __init__(self,item): self.item = item self.next = Noneclass SingleNode: def __init__(self): self._head = None def is_empty(self): return self._head is None def length(self):原创 2021-01-21 14:00:53 · 241 阅读 · 7 评论 -
labuladong算法框架 Python版 之 学习算法和数据结构的思路指南
Day 01 数据结构一、数据结构的存储方式基础的数据类型(结构基础)数组 顺序存储由于是紧凑连续存储,可以随机访问,通过索引快速找到对应元素,而且相对节约存储空间。但正因为连续存储,内存空间必须一次性分配够,所以说数组如果要扩容,需要重新分配一块更大的空间,再把数据全部复制过去,扩容时间复杂度 O(N);而且你如果想在数组中间进行插入和删除,每次必须搬移后面的所有数据以保持连续,增删时间复杂度 O(N)、改查时间复杂度 O(1)链表 链式存储因为元素不连续,而是靠指针指向下一原创 2021-01-20 18:33:28 · 943 阅读 · 0 评论 -
AcFun_API 之 分页读取作者作品
分页读取作者作品调用地址(GET) https://www.acfun.cn/u/ + authorID参数字段必选类型说明备注quickViewIdtruestring板块名ac-space-video-list:视频板块bangumiList:番剧板块reqIDfalseint请求次数ajaxpipetrueint返回数据类型1:类似Json类型typetruestring作品类型video:视频orderfal原创 2021-01-14 00:08:14 · 434 阅读 · 0 评论 -
AcFun_API 之 分页读取番剧列表
分页读取番剧列表调用地址(GET) https://www.acfun.cn/bangumilist参数字段必选类型说明备注filtersfalsestring过滤方式详情见同级目录下filters.md文件pageNumtrueint页数不加参,默认page=1quickViewIdtruestring板块名ac-space-video-list:视频板块bangumiList:番剧板块listwrapper:TV动画reqID原创 2021-01-14 00:07:45 · 2131 阅读 · 0 评论 -
反爬虫--代理
反爬虫重试3次:当请求失败一次后再重新发起3次请求(一共发起四次请求)from requests.adapters import HTTPAdapters_requests = requests.Session()s_requests.mount('http://', HTTPAdapter(max_retries=3))s_requests.mount('https://', HTTPAdapter(max_retries=3))使用代理:proxies={"http": "原创 2021-01-14 00:05:40 · 201 阅读 · 0 评论