摘要: 由http://www.cnblogs.com/steinliber/p/5133386.html 中可得服务器会把environ和start_response发送给Flask的实例app,返回的是app中的wsgi_app def wsgi_app(self, environ, start_res 阅读全文
posted @ 2016-01-31 14:58 steinliber 阅读(1565) 评论(0) 推荐(0) 编辑
摘要: 在Flask中的路由功能主要通过修饰函数route实现,下面我们就来挖掘下route在源代码中是怎么分配视图函数的。 def route(self, rule, **options): def decorator(f): endpoint = options.pop('endpoint', None 阅读全文
posted @ 2016-01-31 14:03 steinliber 阅读(951) 评论(0) 推荐(0) 编辑
摘要: 我们都知道在Flask中g,request,session和request是作为全局对象来提供信息的,既然是全局的又如何保持线程安全呢,接下来我们就看看flask是如何做到这点的。在源码中的ctx.py中有AppContext和RequestContext两个类,他们分别管理应用上下文和请求上下文.... 阅读全文
posted @ 2016-01-17 11:54 steinliber 阅读(15154) 评论(0) 推荐(2) 编辑
摘要: 当成功建立好服务器后,接下来就是等待请求并处理请求通过路由分配给相应的视图函数了,以下是函数调用过程-> self._handle_request_noblock() /usr/lib/python2.7/SocketServer.py(295)_handle_request_noblock()-... 阅读全文
posted @ 2016-01-15 15:12 steinliber 阅读(2031) 评论(0) 推荐(1) 编辑
摘要: 在用flask开发时,如果把use_reloader设为True(debug设为True也能实现),那当你修改了app代码或调用环境发生改变时,服务器会自动重启,如下 * Detected change in '/home/steinliber/flask-source-code/route/a.p... 阅读全文
posted @ 2016-01-14 15:03 steinliber 阅读(2288) 评论(2) 推荐(0) 编辑
摘要: Flask是一个使用 Python 编写的轻量级 Web 应用框架。Flask 本身只是 Werkezug 和 Jinja2 的之间的桥梁,前者实现一个合适的 WSGI 应用,后者处理模板。 当然, Flask 也绑定了一些通用的标准库包,比如 logging 。 除此之外其它所有一切都交给扩展... 阅读全文
posted @ 2016-01-13 16:17 steinliber 阅读(3312) 评论(2) 推荐(0) 编辑