17 August 2015
Flask 中的 Long Polling
Long Polling 并不是什么稀奇的东西,其实就是一个普通的 HTTP 请求,只不过在没数据时我们直接把他阻塞掉,直到有数据直接返回完成本次请求。 那么说白了代码其实就像是下面这样: from flask import Flask, jsonify from time import sleep app = Flask(__name__) app.debug = True @app.
30 May 2015
在 Flask 中使用 EventSource
EventSource 是 HTML5 新带进来的特性,用途是可以单方向的接收从服务端推送过来的消息,要双向通信的话估计要使用 WebSocket 的了。 Flask 中需要使用yield来进行 Stream 类型的通信,我们今天的主角是EventSource。 我们先来入入门 这是app.py from flask import Flask, Response, render_template import time
25 May 2015
Flask 中修改 Jinja2 的配置
最近在用 Jinja2 构建模板的时候发现 Jinja2 有个很奇怪的地方,他渲染完{% block header %}之类的标签后,你会在 html 页面里找到一个空行,有没有什么办法避免一些不必要的空行呢? 翻了点资料,Jinja2 的文档里有一个Whitespace Control,里面说到的就是这一点,按文档讲,trim_blocks选项是将模板标签后第一个空行自动删去;还有一个类似的选项是lstrip_blocks,他是将模板标签前的制表符或者空格自动删去(当然如果之前有其他字符的话就不会删去惹…