flask-login 在测试环境失效

今天在运行flask的集成测试的时候发现,flask-login在测试环境下会失效。找了好久之后发现, 原来flask-login有个配置项LOGIN_DISABLED, 当这个配置不存在时,它的默认值取的是TESTING的值。

 self._login_disabled = app.config.get('LOGIN_DISABLED',
app.config.get('TESTING', False))

解决方法是在执行测试的时候,在flask的配置中添加 LOGIN_DISABLED = True

RAML在RESTful API开发中的实践

RAML是一种基于YAML,用来描述RESTful API的设计语言。它可以很方便地表示RESTful API的CRUD的请求和响应格式,目前RAML的标准还在演进中,但是也已经有了很多非常棒的工具用来完善RESTful的设计和开发工作。

用RAML设计RESTful API

我们来设计一个电影的api /movies, 那么根据RESTful的风格,应该提供六个API接口

GET /movies
POST /movies
GET /movies/{movieId}
PUT /movies/{movieId}
PATCH /movies/{movieId}
DELETE /movies/{movieId}

那么用RAML表示的/movies 设计应该是:

#%RAML 0.8

title: Movie API
baseUri: http://example.api.com/{version}
version: v1
traits:
- paged:
queryParameters:
pages:
description: The number of pages to return
type: number
- secured: !include http://raml-example.com/secured.yml
/movies:
is: [ paged, secured ]
get:
post:
/{movieId}:
get:
response:
200:
body:
application/json:
schema:

put:
patch:
delete:
description: |
This method will *delete* an **individual movie**

假设每部电影都包含以下的属性:

id: - id
name: - 电影名称
director: - 导演
actors: - 演员
movies_type: - 类型
country: - 国家地区

迁徙

我打算重新开始写博客。

当在面临职业方向选择这个难题时,那是我还是个文青。我就想,既然我这辈子不可能靠着写中文为生,那我还是选择另外一种语言吧,于是,我就成了一个码农。

开始的阶段是痛苦的,因为我很难从代码中发现我期望的浪漫、矛盾和生命力,因为执行他的是机器,需要的是严谨和完整。但我是一个固执又充满好奇心的人,我开始尝试不同的语言,看过一些据说是很漂亮的代码,慢慢的,好像我看到了一些透出来的光,我开始理解一些美好的东西,一些浪漫的、自由的、无私的美好。

在工作这段时间里,由于各种借口,我有两年多没有认真地坐下来写写画画。我想也许现在是一个好的时间,可以让自己安静地将自己发现的一些美好能记录下来,也是对我过去一段时光的梳理,也许是工作中的一些微不足道的发现,也许是生活中的一些牢骚,也可能是一些任性。

最后,感谢 GithubJekyll,以及Hyde,让我们可以如此方便、自由的创建一个自己的世界。