我似乎无法弄清楚如何使用Flask的流媒体.这是我的代码:
@app.route('/scans/')
def scans_query():
url_for('static', filename='.*')
def generate():
yield render_template('scans.html')
for i in xrange(50):
sleep(.5)
yield render_template('scans.html', **locals())
return Response(stream_with_context(generate()))
Run Code Online (Sandbox Code Playgroud)
在我的模板中:
<p>{% i %}</p>
Run Code Online (Sandbox Code Playgroud)
我想在页面上看到一个每半秒钟改变一次的计数器.相反,我得到的最接近的是页面打印出下一行的每个数字.
我想动态显示我的CPU使用情况.我不想重新加载页面以查看新值.我知道如何在Python中获得CPU使用率.现在我用值渲染一个模板.如何使用Flask中的值不断更新页面?
@app.route('/show_cpu')
def show_cpu():
cpu = getCpuLoad()
return render_template('show_cpu.html', cpu=cpu)
Run Code Online (Sandbox Code Playgroud) 我有一个生成数据并实时流式传输的视图.我无法弄清楚如何将这些数据发送到我可以在我的HTML模板中使用的变量.我当前的解决方案只是在数据到达时将数据输出到空白页面,这有效,但我希望将其包含在带格式的较大页面中.如何在数据流式传输到页面时更新,格式化和显示数据?
import flask
import time, math
app = flask.Flask(__name__)
@app.route('/')
def index():
def inner():
# simulate a long process to watch
for i in range(500):
j = math.sqrt(i)
time.sleep(1)
# this value should be inserted into an HTML template
yield str(i) + '<br/>\n'
return flask.Response(inner(), mimetype='text/html')
app.run(debug=True)
Run Code Online (Sandbox Code Playgroud) 我想构建一个使用Flask框架开发的python API,该框架使用Kafka主题并将流推送到客户端(html页面或其他应用程序)。
我试图用虚拟数据生成实时流(请参见下面的实时路由)。发生的问题result是仅在循环完成后才推送result变量,而变量应在每次迭代时推送。
我还尝试通过Kafka连接生成实时流(请参见下面的kafka路由)。问题是没有数据返回,而是请求没有完成。
from flask import Response, Flask
import time
from kafka import KafkaConsumer
application = Flask(__name__)
@application.route('/')
def index():
return "Hello, World!"
@application.route('/realtime/')
def realtime():
def createGenerator():
for i in range(1,10):
yield str(i) + '\n'
time.sleep(0.2)
return Response(createGenerator())
@application.route('/kafka/')
def kafkaStream():
consumer = KafkaConsumer(bootstrap_servers = 'serverlocation',
client_id = 'name of client',
auto_offset_reset = 'earliest',
value_deserializer = lambda m: json.loads(m.decode('ascii')))
consumer.subscribe(topics=['my-topic'])
def events():
result = []
for message in consumer:
if message is not None: …Run Code Online (Sandbox Code Playgroud) 我可以将一个值自动推送到网站上(使用AJAX = JQuery吗?),当在服务器端完成某些事情并且python已准备好发送它时,而不是仅仅响应网站的请求.
如何让Jquery准备好接受这个特殊数据?
我正在学习的教程:http: //flask.pocoo.org/docs/patterns/jquery/#the-html