随笔分类 -  python

摘要:前言 由于公司使用的python版本是python2,并且连接mysql的包是mysql python,但是mysql python 使用pip安装报错,需要C++环境等依赖,于是使用wheel直接安装源码、 安装步骤 安装whell 下载源码 安装 这样就安装成功了,亲测可用。 阅读全文
posted @ 2019-03-30 15:18 倥偬时光 阅读(3534) 评论(0) 推荐(0) 编辑
摘要:前言 前面我们了解了celery的基本使用后,现在对其常用的对象和方法进行分析。 Celery对象 核心的对象就是Celery了,初始化方法: 这些参数都是celery实例化的配置,我们也可以不写,然后使用config_from_object方法加载配置; 创建异步任务的方法task 任何被task 阅读全文
posted @ 2019-03-22 00:01 倥偬时光 阅读(24157) 评论(4) 推荐(11) 编辑
摘要:前言 hashlib模块是py3.+用来对字符串进行hash加密的模块,核心算法是md5,明文与密文是一一对应不变的关系;用于注册、登录时用户名、密码等加密使用。 模块分析 hashlib模块有多种加密算法如:'md5', 'sha1', 'sha224', 'sha256', 'sha384', 阅读全文
posted @ 2019-01-11 18:19 倥偬时光 阅读(2177) 评论(0) 推荐(0) 编辑
摘要:前言 我们使用time和datetime模块的主要目的是对时间戳、时间字符串、时间元组等时间的表述对象进行相互的转化。而我们平时编码涉及两个时间:一个是上海时间,也可以说是北京时间,一个是UTC时间,即世界协调时间;北京时间比UTC时间多了八个小时。 时间戳、时间字符串、时间元组 时间戳:一般是fl 阅读全文
posted @ 2019-01-11 13:53 倥偬时光 阅读(757) 评论(0) 推荐(1) 编辑
摘要:前言 什么是请求钩子?在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要统一处理,为了让每个视图函数避免编写重复功能的代码,flask提供了统一的接口可以添加这些处理函数,即请求钩子。 请求钩子的原理 先回顾一下flask对请求的处理流程: 接收请求 》创建请求上下文 》请求上下文入栈 》创建 阅读全文
posted @ 2018-12-10 09:55 倥偬时光 阅读(4370) 评论(0) 推荐(2) 编辑
摘要:前言 flask_session是flask框架实现session功能的一个插件,用来替代flask自带的session实现机制,flask默认的session信息保存在cookie中,不够安全和灵活。 flask的session机制 session是用来干什么的呢?由于http协议是一个无状态的协 阅读全文
posted @ 2018-12-07 18:54 倥偬时光 阅读(7270) 评论(0) 推荐(4) 编辑
摘要:前言 Response对象负责对客户端的响应,每一个请求都会有一个Response对象,那么它在一个请求的声明周期内是怎么发挥作用的呢? Response对象 响应发生的位置 先回顾一下http请求的flask处理流程: 接收请求 》创建请求上下文 》请求上下文入栈 》创建该请求的应用上下文 》应用 阅读全文
posted @ 2018-12-07 18:46 倥偬时光 阅读(5867) 评论(0) 推荐(1) 编辑
摘要:前言 flask框架自带的代理对象有四个,分别是request,session,g和current_app,各自的含义我们在前面已经详细分析过。使用代理而不是显式的对象的主要目的在于这四个对象使用太过频繁,贯穿整个请求周期,显式传递很容易造成循环导入的问题,需要一个第三方的对象来进行解耦。 代理模式 阅读全文
posted @ 2018-12-07 18:42 倥偬时光 阅读(4823) 评论(0) 推荐(0) 编辑
摘要:前言 关于蓝图是什么?或为什么使用蓝图的详细介绍,官方文档讲的很详细,不再赘述。简单来说,在大型的应用中,我们不想视图函数显得杂乱无章,难以维护,将众多的视图函数按照Api的设计规则进行切割是一个好方法。 蓝图的简单使用 第一步:创建蓝图 第二步:注册蓝图 现在通过访问http://127.0.0. 阅读全文
posted @ 2018-12-07 18:36 倥偬时光 阅读(2029) 评论(0) 推荐(1) 编辑
摘要:前言 flask可以实现上传文件和下载文件的基本功能,但如果想要健壮的功能,使用flask_uploads插件是十分方便的。 安装 基本使用 创建UploadSet对象管理上传,UploadSet.save方法保存文件,通过UploadNotAllowed捕捉扩展名错误。 配置 我们可以在app的配 阅读全文
posted @ 2018-11-16 22:09 倥偬时光 阅读(8512) 评论(0) 推荐(3) 编辑
摘要:前言 应用上下文和请求上下文存在的目的,官方文档讲的很清楚,可参考: http://www.pythondoc.com/flask/appcontext.html 应用上下文对象在没有请求的时候是可以单独存在的,但是请求上下文对象只有在收到请求后才会被创建。请求处理和应用上下文和请求上下文的关系是: 阅读全文
posted @ 2018-11-09 23:38 倥偬时光 阅读(7098) 评论(1) 推荐(0) 编辑
摘要:前言 总结一下flask框架的请求处理流程。 系列文章 "flask基础之安装和使用入门(一)" "flask基础之jijia2模板使用基础(二)" "flask基础之jijia2模板语言进阶(三)" "flask基础之app初始化(四)" WSGI协议 一般来说http服务器和框架需要进行解耦,h 阅读全文
posted @ 2018-11-09 23:37 倥偬时光 阅读(2020) 评论(0) 推荐(0) 编辑
摘要:前言 flask的核心对象是Flask,它定义了flask框架对于http请求的整个处理逻辑。随着服务器被启动,app被创建并初始化,那么具体的过程是这样的呢? 系列文章 "flask基础之安装和使用入门(一)" "flask基础之jijia2模板使用基础(二)" "flask基础之jijia2模板 阅读全文
posted @ 2018-11-09 23:36 倥偬时光 阅读(7777) 评论(0) 推荐(2) 编辑
摘要:前言 itertools模块是python内置的迭代器模块,定义了可生成多种迭代器的函数,用来代替可迭代对象的遍历等操作,节约内存。 迭代器函数的类型 无限迭代器:包括count、cycle、repeat,用于生成无限序列的迭代器; 有限迭代器:接收一个或多个序列作为参数,进行组合、分组和过滤等; 阅读全文
posted @ 2018-11-01 23:19 倥偬时光 阅读(596) 评论(0) 推荐(0) 编辑
摘要:前言 命名空间通俗的理解就是对象或变量的作用范围,在python中分为局部命令空间、模块命名空间和build in全局命名空间。 局部命名空间 局部命名空间即在一个函数或一个类中起作用的变量或引用的字典集合,使用local()即可获得局部的命名空间,是一个字典。 所有在类或函数中定义或引用的对象会被 阅读全文
posted @ 2018-10-29 22:26 倥偬时光 阅读(2477) 评论(0) 推荐(0) 编辑
摘要:前言 前面我们总结过了python的关键字、运算符、内置函数、语法糖等与python魔法方法之间的关系,现在我们更细一点,看看python的面向对象编程有哪些常用的魔法属性和魔法方法。 魔法属性 对于一个类,python定义了许多可用的魔法属性,有些每个类都默认存在,有些需要用户手动定义。 \_\_ 阅读全文
posted @ 2018-10-28 17:40 倥偬时光 阅读(2657) 评论(0) 推荐(0) 编辑
摘要:前言 关于对象的魔法方法我们已经讲得太多,但是对于类或函数内建的魔法属性和功能我们涉及较少,下面系统了解一下类和函数的内建属性。 查看内建属性 比较一下发现类和它的实例内建的属性和方法是一样的,函数似乎比类的内建的属性和方法更多,分离出属性: 类的内建属性有: 函数的内建属性有: 前面我们基本介绍过 阅读全文
posted @ 2018-10-28 17:40 倥偬时光 阅读(1081) 评论(0) 推荐(0) 编辑
摘要:前言 对于任何一个python文件来说,当python解释器运行一个py文件,会自动将一些内容加载到内置的属性中;一个模块我们可以看做是一个比类更大的对象。 查看模块的内置属性 我们先创建一个典型的py文件 通过dir()方法我们可以获取到该模块的所有的显式或隐式的属性或方法;可看到隐式的属性有\_ 阅读全文
posted @ 2018-10-28 17:40 倥偬时光 阅读(2799) 评论(0) 推荐(1) 编辑
摘要:前言 python有众多的魔法方法,它们会在满足某种条件下触发执行,掌握好魔法方法的使用,可以加快程序的运行效率,同时减少逻辑调用。 关键字与魔法方法 python的一些魔法方法是关键字触发的,即python解释器遇到某个关键字就会去执行相应的魔法方法。 del与__del__ 如果一个对象定义了\ 阅读全文
posted @ 2018-10-28 00:39 倥偬时光 阅读(920) 评论(0) 推荐(0) 编辑
摘要:前言 前面已经总结了关键字、运算符与魔法方法的对应关系,下面总结python内置函数对应的魔法方法。 魔法方法 数学计算 访问控制 容器类型 在Python中实现自定义容器类型需要用到一些协议。不可变容器类型有如下协议: 1. 不可变容器,需要定义 \__len\__ 和 \__getitem\__ 阅读全文
posted @ 2018-10-26 23:56 倥偬时光 阅读(1074) 评论(0) 推荐(0) 编辑