自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 python tips(持续更新中)

python tips可变对象与不可变对象在python中,可变对象有数值类型(int,float),字符串(str),元组(tuple),可变对象有列表(list),字典(dict),集合(set)。在赋值操作中 可变对象是复制的对象本身,相当于复制了对象的指针,对赋值后的修改会修改原来的对象 例如:In [1]: b = [1,2,3,4]In [2]: _b = bI...

2019-03-08 15:26:00 203

转载 django-admin

django 强大的一个地方就是在于它集成了一个非常方便的admin后台,我们只需要做简单的配置就可以实现一些强大的功能。所以接下来我们介绍下admin后台的使用model简单model先准备models.py文件 如下 from django.db import models # Create your models here. class User(models.Mo...

2019-02-18 13:36:00 188

转载 Django-rest-framework(八)使用技巧(持续补充中)

当viewset中,多个action对应了不同的serializers的时候class UserView(viewsets.GenericViewSet): queryset = User.objects.all() serializer_class = UserSeriallers def get_serializer_class(self): ...

2019-02-14 14:36:00 172

转载 Django-rest-framework(七)swagger使用

在我们接口开发完之后,需要交付给别人对接,在没有使用swagger的时候,我们需要单独编写一份api接口文档,由postman之类的工具进行请求得到返回的结果。而有了swagger之后,可以通过提取接口代码中的注释来生成文档,并且可以直接在浏览器中调用,获取返回结果。先看下效果安装pip install django-rest-swaggersetting.py 文件中添加IN...

2019-02-14 13:39:00 424

转载 Django-rest-framework(六)filter,ordering,search

filterqueryset 使用request.user相关的querysetclass PurchaseList(generics.ListAPIView): serializer_class = PurchaseSerializer def get_queryset(self): """ 返回purchaser 是request...

2019-02-14 10:09:00 451

转载 Django-rest-framework(五)自定义功能

我们可以在settings.py文件中定义登录,权限,分页,异常等的全局配置,如下所示REST_FRAMEWORK = { 'DEFAULT_PAGINATION_CLASS': 'utils.page.Page', 'DEFAULT_AUTHENTICATION_CLASSES': ( 'utils.permissions.AdminAuth', ...

2019-02-13 14:46:00 222

转载 Django-rest-framework(四)router

在上一节viewsets中,我们提到了route的方式使用,在这一节,我们将仔细介绍drf 的router机制。简单来说,router的作用就是将viewset对象的url映射关系提取出来。简单使用from rest_framework import routersrouter = routers.SimpleRouter()router.register(r'users', ...

2019-02-11 14:55:00 254

转载 Django-rest-framework(三)view and viewsets使用

DRF 中有多种view和viewsets,我整理了一下,如下图所示,接下来,我们分别了解下view,viewsets。APIView所有的view,viewsets都是继承APIView,而APIView是继承的django的django.views.generic.View, 然后增加了一些通用的操作,和重载了as_view,dispatch,options,http_meth...

2019-02-01 17:24:00 275

转载 Django-rest-framework(二)serializers 使用

简介初次见到serializers文件,想必大家都会感到陌生,所以,我们不妨换个词来形容他的作用,那就是django 中的Form,这样是不是感觉熟悉了一点。实际上,serializers 的作用和Form也差不多,可以帮我们验证提交的表单,和取出model里面的字段fields既然是序列化数据,那么我们需要指定对应的一些字段,serializers中的字段和model中的类似,...

2019-02-01 15:57:00 785

转载 Django-rest-framework(一)简单入门使用

简单的使用Django-rest-framework 建成DRF,可以帮助我们快速构建出 django的rest full 风格的api接口。其源码容易理解,所以我们可以很方便的使用。安装pip install djangorestframeworkpip install django==2.1.1settings.py 配置INSTALLED_APPS = ( ...

2019-01-31 17:48:00 169

转载 Django 单元测试

mock 测试mock 是辅助单元测试的模块,用于测试不方便调用的别人的接口。举个简单的例子,比如说,我们测试django 写的微信登录接口,正常流程下,我们需要前端拉起授权窗口,获取jscode或其他数据。而这一部分操作,我们在单元测试的时候没办法模拟出来。此时,我们希望假设调用微信的接口,正常返回了我们需要的数据,在这种情况下,我们便需要简单的mock 函数,假设已经该函数正常返回...

2019-01-31 16:26:00 109

转载 redis 过期回调通知

redis 过期回调通知背景在使用redis的过程中,有时我们会遇到这种情景,当key过期的时候,我们需要去重新做一些操作,比如重新生成value等。之前,一直用的是添加一个celery定时任务,今天了解redis的通知功能后,发现可以用直接实现。简介官方原文:https://redis.io/topics/notifications简单来说,在2.8.0之后,redis提供了...

2018-11-15 21:47:00 2200

转载 python 多进程,多线程,协程

在我们实际编码中,会遇到一些并行的任务,因为单个任务无法最大限度的使用计算机资源。使用并行任务,可以提高代码效率,最大限度的发挥计算机的性能。python实现并行任务可以有多进程,多线程,协程等方式。进程,线程,协程进程进程是程序运行的基本单位,资源分配和独立运行的基本单位。多进程实现并行任务代码: import multiprocessing import time...

2018-10-02 15:51:00 108

转载 git 简单使用(待完善)

git是一个分布式版本控制器,简单来说就是可以记录每次代码的修改和提交,方便我们查看修改记录和版本的回退工作流程基本概念仓库git 是一个分布式版本控制器,其单位就是仓库,每个仓库就是当前git管理的总和远程仓库远程仓库有时也称为中心仓库,所有的代码push到的地方,理论上来说,因为git是分布式的,所以我们可以把任意一个仓库作为远程仓库来使用。不过一般我们为了统一,都会...

2018-09-05 21:23:00 106

转载 celery 使用(一)

使用celery完成异步任务背景有时我们需要一些定时任务,比如,30分钟后,修改订单状态为不可支付,并恢复库存,此时,要实现这种功能需要单独一个程序,使其不断查询时间是否到期。显然这种方式会浪费大量资源,所以我们引入一个定时任务的框架celery。celery简介celery 是一个高效的异步任务框架,可以立刻执行异步操作,或者定时执行。也可以同步等待运行结果。安装运行要求:...

2018-08-20 20:57:00 136

转载 RabbitMQ(一 初识)

背景在web开发过程中有遇到这样的情况:有一部分业务处理速度很慢,但它的结果对最终的返回没有影响,即使报错了,也不需要返回错误信息,只需要在另一个地方可以查询这部分业务的信息即可。例如:用户下单并成功支付,我们需要修改订单状态,并返回回去,但这中间需要做些其他操作,例如发邮件,发短信,生成相应资料,这些操作耗时但不影响返回。这种情况下,我们就需要将这部分业务做单独处理,一种解决方式是...

2018-08-04 16:05:00 100

转载 python 生成器与迭代器(yield 用法)

背景首先,我不会解释这两个名词,我看过很多遍解释,可还是看不懂,还是直接看使用情景吧。我们以佩波拉契数列为例,当我们不知道迭代器的情况下,我们写出来的代码可能是这样子的:'''这种方式计算fib(100)都很吃力'''fib = lambda n:fib(n-2) + fib(n-1) if n>1 else 1或者优化一下,变成这样子:'''将迭代结果存入temp中...

2018-08-01 22:44:00 144

转载 python与consul 实现gRPC服务注册-发现

背景通过对gRPC的介绍我们知道,当正常启动服务后,我们只需要知道ip,port就可以进行gRPC的连接。可以想到,这种方式并不适合用于线上环境,因为这样直连的话就失去了扩展性,当需要多机部署的时候,就无法在线上环境直接使用,而且当线上项目连接的那台服务器宕了的话,整个项目也会出错,这并不是我们想要的结果。于是,我们需要一个服务注册与发现的机制。也就是说当我们的rpc服务启动的时候注...

2018-07-31 22:04:00 858

转载 python 使用gRPC

Python gRPC简介grpc 是google 开源的一款rpc服务框架,可以轻松的实现跨语言的微服务,将项目中的各个模块独立出来,单独部署,独立升级,也可以根据模块的情况进行不同语言的变成。gRPC也是一个C/S框架,使用的是HTTP2 协议进行通信。准备.proto文件 syntax = "proto3"; package order; messag...

2018-07-29 21:09:00 859

空空如也

空空如也

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

TA关注的人

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