Discuss / Python / 讨论一下handlers.py中@post('/api/authenticate') def authenticate(*, email, passwd)的一个判断条件

讨论一下handlers.py中@post('/api/authenticate') def authenticate(*, email, passwd)的一个判断条件

Topic source

users = yield from User.findAll('email=?', [email]) 

 if len(users) == 0

为什么要选择findAll?因为在sql建表是就加了unique key email。所以查询结果一定是0或1

我知道了,find没有email的查询条件。。。

另,为什么有的handler可以有request参数,有的没有request参数。

因为在RequestHandler.__call__()会去判断self._has_request_arg, 从而决定是不是需要将request传入fn中

再另,编写的middleware其实就是装饰器,那logger_factory为例,其实际运行是应该是logger_factory(app, RequestHandler(app, fn)) (request), r不知道这样理解是否正确?


  • 1

Reply