自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 django rest framework 路由

路由Routers对于视图集ViewSet,我们除了可以自己手动指明请求方式与动作action之间的对应关系外,还可以使用Routers来帮助我们快速实现路由信息。REST framework提供了两个routerSimpleRouter DefaultRouter1. 使用方法1) 创建router对象,并注册视图集,例如from rest_framework impo...

2018-07-22 11:05:05 898

原创 django rest framework 视图集

视图说明1. 两个基类1)APIViewrest_framework.views.APIViewAPIView是REST framework提供的所有视图的基类,继承自Django的View父类。APIView与View的不同之处在于:传入到视图方法中的是REST framework的Request对象,而不是Django的HttpRequeset对象; 视图方法可以返回...

2018-07-22 10:30:57 1170

原创 Django REST framework 基于类的视图

其实,与其使用基于方法(function based)的视图,我们更加倾向使用基于类(class based)的视图。接下来,你将看到这是一个强大的模式,是我们能够重用公共的功能,并且,帮我们保持代码DRY(Don’t Repeat Yourself)使用基于类的视图,重新API我们现在开始了。首先,重写根视图(root view),变成基于类的视图。所涉及的,只是对 views.py 文...

2018-07-22 10:19:06 247

原创 Django REST framework的请求和响应

请求对象(Request object)REST framework引入了一个 Request 对象, 它继承自普通的 HttpRequest ,但能够更加灵活的解析收到的请求。Request 对象的核心功能,就是其中的 request.data 属性。这个属性跟 request.POST 相似,但对我们的Web API来说,更加的有用。request.POST # 只能处理表单(fo...

2018-07-22 10:10:19 583

原创 django rest framework 序列化

创建项目我们需要创建一个项目(project)。cd ~django-admin.py startproject tutorialcd tutorial然后我们创建一个app,来构建简单的Web API。python manage.py startapp snippets我们需要将这个新建的 snippets app 和 rest_framework app 添加到 I...

2018-07-22 09:44:53 200

原创 celery快速入门2

项目中使用celery我的项目目录:TestCelery/ ├── proj │ ├── celeryconfig.py │ ├── celery.py │ ├── init.py │ └── tasks.py └── test.py  celery.py内容如下:from celery import Celery# 创建celery实例app = Celery('demo...

2018-07-21 18:13:07 300

原创 celery快速入门1

celery介绍Celery是一个功能完备即插即用的任务队列。它使得我们不需要考虑复杂的问题,使用非常简单。celery看起来似乎很庞大,本章节我们先对其进行简单的了解,然后再去学习其他一些高级特性。 celery适用异步处理问题,当发送邮件、或者文件上传, 图像处理等等一些比较耗时的操作,我们可将其异步执行,这样用户不需要等待很久,提高用户体验。 celery的特点是:简单,易于使用和维...

2018-07-21 18:06:40 202

原创 基于django-rest-framework的JWT认证

JWT在用户注册或登录后,我们想记录用户的登录状态,或者为用户创建身份认证的凭证。我们不再使用Session认证机制,而使用Json Web Token认证机制。什么是JWTJson web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。...

2018-07-21 17:06:25 5913 1

原创 django跨域问题及解决方案

一、什么是跨域请求?跨域:简单来说就是 A 网站的 javascript 代码试图访问 B 网站,包括提交内容和获取内容。这显然是不安全的。为此,浏览器的鼻祖:网景(Netscape)公司提出了优秀的解决方案:著名的浏览器同源策略。现在所有支持JavaScript的浏览器都会使用这个策略。同源:域名、协议、端口均相同的网站即为同源。流程:当一个浏览器的两个Tab页分别打开百度和...

2018-07-21 16:43:53 723

原创 djando 教程

Django基础教程Django特点强大的数据库功能用python的类继承,几行代码就可以拥有一个丰富,动态的数据库操作接口(API),如果需要你也能执行SQL语句自带的强大的后台功能几行代码就让你的网站拥有一个强大的后台,轻松管理你的内容!优雅的网址用正则匹配网址,传递到对应函数,随意定义,如你所想!模板系统强大,易扩展的模板系统,设计简易,代码,样式分开设计...

2018-07-19 11:48:47 624

原创 redis 数据库学习

01/ nosql介绍 NoSQL:一类新出现的数据库(not only sql),它的特点:1、 不支持SQL语法2、 存储结构跟传统关系型数据库中的那种关系表完全不同,nosql中存储的数据都是KV形式3、 NoSQL的世界中没有一种通用的语言,每种nosql数据库都有自己的api和语法,以及擅长的业务场景4、 NoSQL中的产品种类相当多:a) Mongodb  ...

2018-07-19 11:22:07 203

原创 HTTP状态保持的原理

       首先我们要知道Http是无状态的,就是连接时数据进行交互,关闭后服务端课客户端彼此不认识彼此,或者说永久性失忆,那么为什么http是无状态的呢?因为浏览器和服务器之间用的是socket通信,也就是TCP通信,一旦关闭浏览器,四次挥手之后就销毁所有交互信息(这里涉及TCP的三次握手和四次挥手,感兴趣童鞋可以自行查阅相关资料)。这就涉及浏览器跟服务器之间保持状态的方法,也就是cookie...

2018-07-19 10:28:00 775

原创 CSRF 攻击的原理和防范措施

CSRF攻击示意图客户端访问服务器时没有同服务器做安全验证 一、攻击原理: 此时网站A在接收到请求之后已经判断当前用户是登录状态,所以恶意网站就可以根据用户的权限做具体的恶意操作了,造成网站攻击成功。 而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookie 用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指...

2018-07-19 10:01:50 1532 1

原创 栈与队列

栈栈的定义:栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。栈有两种最重要的操作,即pop(从栈顶弹出一个元素)和push(将一个元素进栈)。对于栈我的理解是:①栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。②栈就是一个桶,后放进去的先拿出来,它下面本来有的东西要等它出来之...

2018-07-14 11:46:01 287

原创 python内置map函数--高阶函数

我要将一个全部为int的list 转化为str的list ,因为全为int的list无法写入文件,转换的方法有两种 假设有这样一个List = [1,2,3,4,5] , 要转化为这个样子 [‘1’,’2’,’3’,’4’,’5’]解决方法一:a = [1,2,3]b = [ str(i) for i in a ]解决方法二:L = [1,2,3,4,5] map(str, L)在第二个方法里,我...

2018-07-13 11:51:46 262

原创 python中实现精确的浮点数运算详解

为什么说浮点数缺乏精确性?在开始本文之前,让我们先来谈谈浮点数为什么缺乏精确性的问题,其实这不是Python的问题,而是实数的无限精度跟计算机的有限内存之间的矛盾。举个例子,假如说我只能使用整数(即只精确到个位,计算机内的浮点数也只有有限精度,以C语言中的双精度浮点数double为例,精度为52个二进制位),要表示任意实数(无限精度)的时候我就只能通过舍入(rounding)来近似表示。比如1.2...

2018-07-13 11:39:03 5534 1

原创 MySQL添加外键失败ERROR 1452的解决

出现:ERROR 1452 : Cannot add or update a child row: a foreign key constraint fails 最后才发现,原来是我的order_items表中已经存在了数据(这才是重点),且order_id这个属性和orders中的不对应,因此如果添加外键,就会导致错误此时解决的办法不外乎两个: 1.删除数据,再添加外键2.在orders中添加对...

2018-07-13 11:29:14 2254

原创 修改MySQL数据库中主键的值

在数据库中有时需要修改主键id的值,我们可以这样做:    1、首先把数据库中的数据导出来,放到本地;            mysqldump -uroot -p(注意不要输入密码) 数据表名 > 数据表名.sql            mysqldump -uroot -p tablename > tablename .sql    2、修改主键id的起始值为你自己需要的数值;  ...

2018-06-30 16:48:12 7990

原创 MySQL自增ID 起始值 修改方法

在mysql中很多朋友都认为字段为AUTO_INCREMENT类型自增ID值是无法修改,其实这样理解是错误的,下面介绍mysql自增ID的起始值修改与设置方法(自增字段一定要设置为primary key.)。许多时候希望table中数据的id不要从1开始,像qq, id从10000开始,代码如下:    alter table users AUTO_INCREMENT=10000;而且该语句也适用...

2018-06-30 16:33:19 824

原创 解决python web开发启动报错:urls must start with a leading slash

做泛域名解析时出错urls must start with a leading slash查了半天一直以为是子域名设置有问题,后来检查才知道,蓝图(Blueprint)下面的一个目录的路由@api.route('index')没加斜杠,改成@api.route('/index')就正常了。之前没做子域名设置的时没出错,所有一直没注意以为是子域名设置不对。犯了个低级错...

2018-06-27 16:03:09 15946 1

原创 Git上传项目提示Push rejected: Push to origin/master was rejected解决办法

首先是你的项目中有和推送历史不符的东西 Push rejected: Push to origin/master was rejected 推拒绝:推送到起源/主人被拒绝 解决办法,打开你要上传代码的文件夹位置鼠标右键git Bash Here然后直接运行下面的命令解决问题第一种办法:git pull git pull origin master git pull ...

2018-06-26 11:29:06 7624 2

原创 js实现sleep函数的功能

【以下内容为自己的理解,如有不同观点,请留言指导,感谢】作用:让js脚本暂停一定时间,进入休眠状态。说明:js本身提供没有sleep()。举例:js可以通过很多方法实现,如下<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>s

2018-06-06 19:53:57 3860 1

原创 PYTHON 线程锁释放的时间

由于线程之间随机调度:某线程可能在执行n条后,CPU接着执行其他线程。为了多个线程同时操作一个内存中的资源时不产生混乱,我们使用锁。Lock(指令锁)是可用的最低级的同步指令。Lock处于锁定状态时,不被特定的线程拥有。Lock包含两种状态——锁定和非锁定,以及两个基本的方法。可以认为Lock有一个锁定池,当线程请求锁定时,将线程至于池中,直到获得锁定后出池。池中的线程处于状态图中的同步阻塞状态。...

2018-05-27 09:55:48 2264

原创 grpc学习笔记

gRPC 是什么?在 gRPC 里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得您能够更容易地创建分布式应用和服务。与许多 RPC 系统类似,gRPC 也是基于以下理念:定义一个服务,指定其能够被远程调用的方法(包含参数和返回类型)。在服务端实现这个接口,并运行一个 gRPC 服务器来处理客户端调用。在客户端拥有一个存根能够像服务端一样的方法。服务如何定义...

2018-09-18 11:53:01 351

原创 python openpyxl模块

openpyxl基本用法  想要操作Excel首先要了解Excel 基本概念,Excel中列以字幕命名,行以数字命名,比如左上角第一个单元格的坐标为A1,下面的为A2,右边的B1。  openpyxl中有三个不同层次的类,Workbook是对工作簿的抽象,Worksheet是对表格的抽象,Cell是对单元格的抽象,每一个类都包含了许多属性和方法。操作Excel的一般场景:打开或者创...

2018-09-18 11:25:24 1105

原创 docker:如果提示gpg: 找不到有效的 OpenPGP 数据。先添加pgp key

安装curl获取并安装dockersudo curl -fsSL https://get.docker.com/ | sh如果提示gpg: 找不到有效的 OpenPGP 数据。先添加pgp keysudo  curl -fsSL https://get.docker.com/gpg | sudo apt-key add -再执行获取包的命令,在国内网络问题可能安装失败,因为已经...

2018-07-25 20:55:07 3919

原创 Ubuntu上使用Docker安装FastDFS

1. 获取镜像可以利用已有的FastDFS Docker镜像来运行FastDFS。获取镜像可以通过下载docker image pull delron/fastdfs也可是直接使用提供给大家的镜像备份文件docker load -i 文件路径/fastdfs_docker.tar加载好镜像后,就可以开启运行FastDFS的tracker和storage了。2. ...

2018-07-25 11:26:16 679

原创 实用的Docker入门(安装与基本操作)

1. 在Ubuntu中安装Docker更新ubuntu的apt源索引sudo apt-get update安装包允许apt通过HTTPS使用仓库sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common添加...

2018-07-25 11:18:10 208

原创 Docker简介

1. 虚拟化1)什么是虚拟化在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种 实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间 的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚 拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计 算能力和资料存储。在...

2018-07-25 10:55:50 156

原创 FastDFS分布式文件系统简介

1. 什么是FastDFSFastDFS 是用 c 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制, 充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS 很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。FastDFS 架构包括 Tracker server 和 Storage server。客户端请求 Trac...

2018-07-25 10:48:18 208

原创 Python3 urllib使用说明

urllib.parse.urlencode(query) 将query字典转换为url路径中的查询字符串 下面是一个实例:#!/usr/bin/env python3#urlencode 测试from urllib import parse#定义要转化的字典数据qdict = {'age':34,'grils':('lili','tingting'),'name':'h...

2018-07-23 11:34:52 177

原创 Python 字典的常见操作

<1>修改元素字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改demo: info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'} newId = input('请输入新的学号') info['id'] = int(newId) print('修改之后...

2018-07-22 11:33:33 336

原创 python 元组

元组Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。>>> aTuple = ('et',77,99.9)>>> aTuple('et',77,99.9)<1>访问元组<2>修改元组说明: python中不允许修改元组的数据,包括不能删除其中的元素。&l...

2018-07-22 11:27:28 126

原创 Python 列表的相关操作

列表的循环遍历1. 使用for循环为了更有效率的输出列表的每个数据,可以使用循环来完成demo: namesList = ['xiaoWang','xiaoZhang','xiaoHua'] for name in namesList: print(name)结果: xiaoWang xiaoZhang xiaoHu...

2018-07-22 11:26:07 185

原创 Python 字符串常见操作

如有字符串mystr = 'hello world itcast and itcastcpp',以下是常见的操作<1>find检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1mystr.find(str, start=0, end=len(mystr))<2>index跟find()方法一样,只不过如果str不在 myst...

2018-07-22 11:21:04 91

原创 Django REST framework 简介及安装配置

Django REST framework 简介做web开发的都知道,在开发REST API接口时,我们在视图中需要做的最核心的事是:将数据库数据序列化为前端所需要的格式,并返回;将前端发送的数据反序列化为模型类对象,并保存到数据库中。在序列化与反序列化时,虽然操作的数据不尽相同,但是执行的过程却是相似的,也就是说这部分代码是可以复用简化编写的。 在开发REST API的视图中,虽然每个...

2018-07-22 09:23:57 2333

原创 Git 工作流程简介和Git的基本命令

Git操作流程图解       Git服务器 --> 本地仓库 --> 客户端 --> 本地仓库 --> Git服务器 工作区    对于添加、修改、删除文件的操作,都发生在工作区中暂存区    暂存区指将工作区中的操作完成小阶段的存储,是版本库的一部分仓库区    仓库区表示个人开发的一个小阶段的完成        仓库区中记录的各版...

2018-07-19 11:02:47 233

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除