自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Crazy博客

记录技术的每一刻

原创 python 浅拷贝和深拷贝

浅拷贝和深拷贝 浅拷贝 重新分配一块内存,创建一个新的对象,里面的元素是原对象中子对象的引用。 对应的函数copy.copy(). # l2 是 l1 的浅拷贝 l1 = [1, 2, 3] l2 = list(l1) l1 == l2 output: True l1 is l2 outpu...

2020-02-15 16:01:37

阅读数 31

评论数 0

原创 django rest_framework jwt

简介 本文介绍在 django rest_framework 使用jwt认证. jwt 不是 rest_framework自带的认证方式,需要通过第三方库djangorestframework-jwt结合使用 相关链接 官网 jwt 认证流程 [外链图片转存失败,源站可能有防盗链机制,建议将图片保...

2020-02-07 10:39:27

阅读数 46

评论数 0

原创 django rest_framework Authentication

文章目录简介源码解析认证方式Token使用缺陷session 简介 本文介绍的是 django rest_framework的认证方式. Token、Session、RemoteUser、jwt等认证方式。前三种是框架自带的,而jwt需要安装第三方库djangorestframework-jwt,...

2020-02-07 10:07:49

阅读数 13

评论数 0

原创 flask结合mongo使用

简介 本文是flask中对mongo的操作. 使用Flask-MongoEngine集成了mongo的操作,使用的是类似于django中的orm操作。 相关链接 Flask-MongoEngine文档 MongoEngine文档 生活助手项目案例 使用 mongo的配置. flask将这个配置加载...

2020-01-02 17:41:21

阅读数 26

评论数 0

原创 使用python操作hdfs

文章目录简介相关链接安装介绍常用使用配置文件应用追加写入数据到hdfs中 简介 使用python对hdfs进行操作. 这里选择使用hdfs库。 相关链接 hdfs文档 安装 pip install hdfs 介绍常用使用 创建一个hdfs client txz-data0:50070是hd...

2019-12-26 13:08:25

阅读数 13

评论数 0

原创 django rest_framework 异常

简介 当程序中出现异常时,我们想要返回的是包含异常信息的json数据。返回正常的信息和异常信息的格式一致化。 操作 自定义json返回的格式 libs/response.py from rest_framework.response import Response class JsonRe...

2019-09-23 19:25:39

阅读数 40

评论数 0

原创 django rest_framework 自定义文档

简介 django rest_framework 自动生成文档的功能,能够很好的给前端提供帮助,在文档中可以看到api的参数和其提供的功能信息,并且还能够在上面直接测试api接口。 官网 配置 urls.py from rest_framework.documentation import inc...

2019-09-23 19:22:52

阅读数 71

评论数 0

原创 python 迭代器和生成器

迭代器与生成器 迭代器和可迭代对象 实现了__iter__的对象是可迭代对象. 实现了__iter__和__next__的是迭代器. 两者之间的关系: Python从可迭代的对象中获取迭代器 可迭代对象的抽象基类是abc.Iterable 迭代器的抽象基类是abc.Iterator 如何实现迭代...

2019-09-12 16:50:33

阅读数 16

评论数 0

原创 django 压缩文件下载

简介 需求: 需要在请求时,将数据生成zip文件提供给用户下载。 不想要在生成后再提供给用户下载 解决: 使用BytesIO在内存中写入数据,而不是落地到本地中。 栗子 from io import BytesIO import zipfile from django.http import F...

2019-09-10 11:30:57

阅读数 200

评论数 0

原创 python 元类编程

property动态属性 通过使用property可以将方法像属性一样获取值。使用setter对方法进行赋值操作 from datetime import datetime, date class Student: def __init__(self, name, birthday):...

2019-09-04 17:27:35

阅读数 8

评论数 0

原创 python 垃圾回收机制

垃圾回收机制 引用计数 每次对象被引用时,会被计数加1,当计数为0时,则回收该对象。 注意: 循环引用的情况,引用计数不能解决. [外链图片转存失败(img-MEW3tgEP-1567564005486)(en-resource://database/8181:0)] 标记-清除 对所有活跃的对象...

2019-09-04 10:27:48

阅读数 11

评论数 0

原创 python 上下文管理器

什么是上下文管理器 python中使用with来使用上下文管理器. 在使用某个资源时,可以对该资源进行初始化和资源的清理两个操作,在这两个操作之间边成为上下文。 经典open案例 对文件操作时,需要打开文件及关闭文件。然后在这之间进行文件的操作。 f = open("a.txt"...

2019-09-03 18:47:51

阅读数 13

评论数 0

原创 python type 和 isinstance区别

type和isinstance的作用 type 实例化该对象的class, 也就是该对象的类型. isinstance 该对象的类型,也可能是该类型的父类类型. 栗子 class A: pass class B(A): pass class C(B): ...

2019-09-03 18:43:46

阅读数 7

评论数 0

原创 python 私有属性和受保护属性

什么是私有属性 在类中定义的属性不提供给外部使用,在定义该属性时,属性名前加__代表该属性为私有属性。 例子: x为公有属性,外部可是访问该值。 y为私有属性,外部不能访问该值. class A: def __init__(self, x, y): self.x = x...

2019-09-03 10:15:05

阅读数 174

评论数 0

原创 python 鸭子类型

什么是鸭子类型 举了例子,一直鸟,它走起来像鸭子,叫声叫鸭子,样子像鸭子,那么我们就认为它就是鸭子。 在静态语言多态中,通过继承相同类,表现出他们是一种类型,比如: 唐老鸭和丑小鸭都继承于鸭子,所以都归为鸭子类型 class Dock: pass class DonaldDuck...

2019-09-02 18:46:52

阅读数 18

评论数 0

原创 django celery 结合使用

简介 本文主要介绍django和celery结合使用的案例。 celery 是一个异步任务的调度工具,可以完成一些异步任务和定时任务。 本文使用djcelery来完成django和celery的结合使用。 该案例在github中django_celery_demo 流程 任务发布者(Produce...

2019-08-22 10:24:09

阅读数 95

评论数 0

原创 tornado 上传文件

简介 文章介绍的是使用tornado完成文件的上传功能 该项目的github地址: tornado_learning.git 栗子 设置文件上传的路径 代码: tornado_learning/settings.py BASE_DIR = os.path.dirname(os.path.dirna...

2019-08-20 17:00:18

阅读数 25

评论数 0

原创 tornado 使用jwt完成用户异步认证

简介 bcrypt 可以通过加盐的方式对密码进行加密,更加的安全可靠。 该项目的github地址: tornado_learning.git 优点 md5加密,每个对应的明文密码,对应的是一样的加密的密文,比较容易的进行解密。而bcrypt每一次的明文密码得到的是不同的加密的密文,因为密文是通过随...

2019-08-20 16:58:42

阅读数 298

评论数 0

原创 tornado 用户密码 bcrypt加密

简介 bcrypt 可以通过加盐的方式对密码进行加密,更加的安全可靠。 该项目的github地址: tornado_learning.git 优点 md5加密,每个对应的明文密码,对应的是一样的加密的密文,比较容易的进行解密。而bcrypt每一次的明文密码得到的是不同的加密的密文,因为密文是通过随...

2019-08-20 16:58:12

阅读数 55

评论数 0

原创 tornado 结合wtforms使用表单操作

简介 在获取请求时,需要将请求的参数进行验证。 使用wtforms和tornado的结合,可以获取到请求的参数,并且对参数进行验证。 该项目的github地址: tornado_learning.git 例子 创建student的form 代码: apps/shchool/forms.py fr...

2019-08-20 16:57:40

阅读数 122

评论数 0

原创 tornado finish和write区别

简介 finish和write都可以将后端的数据传输到前端。他们有啥差别嘞。 该项目的github地址: tornado_learning.git 例子 代码apps/hello/write_finish_handler.py from tornado_learning.handler impor...

2019-08-20 16:57:07

阅读数 248

评论数 0

原创 tornado 使用peewee-async 完成异步orm数据库操作

简介 tornado是一个异步web框架,其中不能使用阻塞的操作,不然会导致整个程序的阻塞。数据库操作时不可避免的需要使用,这里采用的是peewee-async去解决。 peewee-async 是一个为 peewee orm框架提供异步接口的库。 该项目的github地址: tornad...

2019-08-20 16:56:36

阅读数 381

评论数 0

原创 django 生产环境和测试环境的区分,数据库切换

在某些情况下,本地测试使用的数据库和线上的数据库不同,需要区分两个环境,并切换到相应的数据库。 解决办法: 通过环境变量来区分生产环境和测试环境。 settings.py ENV_PROFILE = os.getenv("ENV") if ENV_PROFILE == &qu...

2019-06-19 11:05:32

阅读数 638

评论数 0

原创 python traceback 获取异常信息

简介 异常信息对于定位错误是至关重要的。 try: ... except Exception as e: print(str(e)) 异常信息: division by zero 在上面这种结构中,获取到的异常信息有限,和我们遇到异常退出获取不一致。 traceback 使用...

2019-06-10 10:57:33

阅读数 92

评论数 0

原创 git subtree用法

git subtree的基本用法 主项目中包含多个子项目。 将子仓库的地址添加为remote git remote add sub_proj https://github.com/test/sub_proj.git 在当前项目中添加子项目 git subtree add --prefix...

2019-06-09 12:51:25

阅读数 20

评论数 0

原创 django rest-framework reverse用法

通常情况下,最好使用绝对的URI,例如:http://example.com/foobar,而不是相对的URI,例如:/foobar 如果在代码中对uri进行硬编码非常的不方便,当该uri修改时,项目中所有的该uri都要被修改。 使用reverse可以更好的去动态的得到绝对的URI. url.py...

2019-05-14 10:08:55

阅读数 176

评论数 0

原创 django restframework 使用pytest测试

djang自带测试 django本身自带了测试框架库,是基于unittest的。 执行 python manager.py test 会对路径所有test*.py 进行测试 from django.test import TestCase from event_track.models.app...

2019-05-13 19:43:47

阅读数 188

评论数 0

原创 pytest学习笔记

pytest是python的第三方测试框架,是基于unittest的扩展框架,比unittest更简洁,更高效。 pytest是可以兼容unittest脚本的,unittest测试用例可以通过pytest框架去运行。 编写规则 测试文件以test_开头(以_test结尾也可以) 测试类...

2019-05-10 15:08:59

阅读数 93

评论数 0

原创 django restframework choice 自定义输出数据

我有一个这样的需求,返回的数据json中返回的是id,但是我想要得到该id对应的name。 id对应的name PlatformType = ( (0, '通用'), (1, '前装'), (2, '后装&...

2019-05-07 19:44:24

阅读数 290

评论数 0

原创 git学习笔记和一些常见问题解决办法

git 学习极客时间的笔记 一些常用的命令及解决办法 简介 vsc出现之前的情况 用目录拷贝区别不同版本 公共文件容易被覆盖 成员沟通成本很高,代码继承效率低下 集中式vcs 有几种的版本管理服务器 具备文件版本管理和分值管理能力 继承效率有明显地提高 客户端必须时刻和服务器相连 分布...

2019-04-28 17:32:34

阅读数 218

评论数 0

原创 Fork 之后同步源的更新内容

Fork 之后同步源的更新内容 配置fork 远程仓库 查看fork之后的项目的远程仓库状态 git remote -v 添加一个将被同步给 fork 远程的上游仓库 git remote add upstream <git_url> 再次查看状态确认是否配置成功 ...

2019-04-28 17:31:34

阅读数 620

评论数 0

原创 浏览器缓存图片

今天发现一个特奇葩的问题,每次访问新的二维码图片时,浏览器上显示的都是旧的二维码,浏览器做了多余的操作,在图片访问地址不变时,会将缓存中的图片显示出来,来提升访问速度,但是我们的不需要改操作。 解决办法: 在请求图片时,添加一个随机数,地址的改变,浏览器就不会使用缓存的图片了。 localho...

2019-04-28 17:28:52

阅读数 532

评论数 0

原创 Flask使用flask_socketio实现websocket

下面是案例,是我自己用来测试使用的,可以直接运行的。详细的使用请看官网 websocket主要应用于客户端和服务端双向通信的。 前端 使用socket.io.min.js是node.js的一个websocket库,首先创建socket. emit是向后端发送消息, message是该条消息的名称,...

2019-04-22 13:11:57

阅读数 881

评论数 0

原创 django Filtering 使用

django-filter是单独的一个库,不属于djangorestframework中的,属于外部库引用进来使用。下面就来介绍下filter 有三种filter方式: DjangoFilterBackend SearchFilter OrderingFilter 准备工作 首先需要安装dja...

2019-04-17 21:39:38

阅读数 43

评论数 0

原创 django viewset 和 Router 配合使用时报的错

报错内容: ‘basename’ argument not specified, and could not automatically determine the name from the viewset, as it does not have a ‘.queryset’ attribut...

2019-04-17 21:37:29

阅读数 120

评论数 0

原创 pyspark streaming简介 和 消费 kafka示例

简介 并不是真正的实时处理框架,只是按照时间进行微批处理进行,时间可以设置的尽可能的小。 将不同的额数据源的数据经过SparkStreaming 处理之后将结果输出到外部文件系统 特点 低延时 能从错误中搞笑的恢复: fault-tolerant 能够运行在成百上千的节点 能够将批处...

2019-04-16 16:43:41

阅读数 213

评论数 0

原创 django model的序列化

网络传输数据现在流行的是json数据格式,所以非常需要将数据库查询的到对象数据序列化成json格式,然后返回给前端进行数据展示。 下面讨论在django中如何更方便的将model 序列化。 一个goods的modle如下。 class Goods(models.Model): name ...

2019-04-11 10:25:01

阅读数 196

评论数 0

原创 使用hue创建ozzie的pyspark action workflow

hue是一个Apache Hadoop ui系统,本篇文章介绍如何使用hue创建一个ozzie的pyspark action的workflow, 该workflow仅包含一个spark action。注意,本文使用的是python语言的pyspark。 编写一个python操作spark...

2019-04-11 10:22:38

阅读数 275

评论数 0

原创 os.path.abspath() 和 os.path.realpath() 区别

相同点 都能返回文件的绝对路径。 >>> import os >>> os.path.realpath(__file__) f:\work\tmp\test.py >>> os.path.abspath(__file__) f:\wo...

2019-03-30 21:58:55

阅读数 1198

评论数 2

原创 独立的使用django的model

有时候只想独立使用django model去操作数据库,如初始化数据到表中。 必须按照以下代码顺序中来。 import sys import os # 获取当前文件的目录 pwd = os.path.dirname(os.path.realpath(__file__)) # 获取当前项目名的目录...

2019-03-30 21:58:12

阅读数 63

评论数 0

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