本文主要通过源码分析Flask-Login插件,并详述其使用方法
在我们使用Flask以及Werkzeug框架的过程中,经常会遇到如下三个概念:Local、LocalStack和LocalProxy。尤其在学习Flask的Request Context和App Context的过程中,这几个概念出现的更加频繁,另外很多Flask插件都会使用这三个概念对应的技术。那么这三个东西到底是什么?我们为什么需要它们?以及如何使用呢?本篇文章主要就是来解答这些问题。
Flask Signals和操作系统的signals系统很类似,都是通过信号(也可以说是事件 event)来通知已经注册的回调函数,让回调函数自动开始执行。Flask定义了自己 的一套核心signals和对应的functions(用于发起消息,注册回调函数),我们需要 定义自己的回调函数,然后注册到对应的signal,这样就可以在收到该信号的时候 自动执行我们定义的回调函数。
在使用flask设计restful api的时候,有一个很重要的问题就是如何进行权限管理,以及如何进行角色的定义,在网上找了一下没有发现有类似的资料,虽然有些针对网站进行的权限管理设计,但是跟restful api接口的权限管理还是有很多不同的,于是乎自己动手,丰衣足食。为方便后来者,特撰此文!
我们都知道对于I/O相关的程序来说,异步编程可以大幅度的提高系统的吞吐量,因为在某个I/O操作的读写过程中,系统可以先去处理其它的操作(通常是其它的I/O操作),那么Python中是如何实现异步编程的呢?
刚接触Python的时候,简单的异常处理已经可以帮助我们解决大多数问题,但是随着逐渐地深入,我们会发现有很多情况下简单的异常处理已经无法解决问题了,如下代码,单纯的打印异常所能提供的信息会非常有限。
写过Python程序的人大都知道,Python日期和时间的处理非常繁琐和麻烦,主要有以下几个问题:
基于以上几点,每次做时间处理的时候总是需要翻看以前的代码或者文档,可见此处Python做的有多烂,好了废话不多说,今天给大家介绍的这个arrow极大地解放了我等Python程序员的脑容量。
IPython提供了改进的交互式Python Shell,我们可以利用IPython来执行Python语句,并能够立刻看到结果,这一点跟Python自带的shell工具没有什么不同,但是IPython额外提供了很多实用的功能是Python自带的shell所没有的,下面就来看看这些实用的功能吧。