我试过了getjson之类的是可以的但是比较怀疑数据量大的话用什么比较好啊?记得见过有人是pandas+d3.js+flask用的,不过找不到了
回复内容:
无邀自答,只因为在我主页的信息流里面多看了你一眼。。。。这话题选得各种切中我的要害啊。
我是勤劳的搬运工。
Getting Your Python Data Onto Browser介绍了如何将你的python数据弄到浏览器里面。所以其实JSON才是python和js的中介,Flask框架只是帮你简单的建立一个JSON服务器而已,连RESTfull都谈不上,如果你只是用来可视化的话。当然你也可以实现增修改删的RESTful服务。同理,你也可以用Tornado,也许它的性能更好。
我假定是一个动态的服务,那么Panda的DataFrame可以帮你快速地处理数据,Playing with REALTIME data, Python and D3和Data visualization using D3.js and Flask都有介绍相关的细节。
功能实现后,你所关心的可能是性能问题。我觉得大多数还不太会需要这方面的担忧。最烦人的可能是开发和可维护性。当然如果关心性能,你也可以在你功能完善的情况下,考虑服务器的优化,引入cache服务,服务器平衡等等,我觉得这不是你关心的。
立即学习“Python免费学习笔记(深入)”;
此外,强烈推荐数据可视化控,可以试试ipython notebook. 这篇Visualizing a NetworkX graph in the IPython notebook with d3.js可能会让你强烈地喜欢上ipython notebook.
新手的个人经验:
比如现在我们要将一个数据从Javascript传输到Flask, 进行处理后再传回Javascript. 我们可以使用jQuery中的getJSON, 并将数据转化为String后进行传输.
Javascript + jQuery:
mydata = {"msg", "Hello Flask."}; // 要传输的数据$.getJSON('/dataconvector', { // Flask中获取数据的function的url mykey: JSON.stringify(mydata) // 定义一个keyword, 将数据stringify }, function(data) { // 从Flask返回的数据 console.log(data.result); $( "#result" ).text(data.result); });
登录后复制websocket啊
另外推荐神器 GitHub – brython-dev/brython: Brython (Browser Python) is an implementation of Python 3 running in the browser
bottle-websocketflask-socketio, 相当简单易用
https://flask-socketio.readthedocs.org/en/latest/入门上手的话推荐看这本:
Data Visualization with Python and JavaScript – O’Reilly Media推荐一个Github上面的开源项目,Caravel(GitHub – airbnb/caravel: Caravel is a data exploration platform designed to be visual, intuitive, and interactive),我正在学习和研究它在flask这个包里有jsonify这个方法,可以return这个方法的返回值,在js那边接受为json。
除此之外,还可以使用jinja过滤器,在html上将字典转化为js可以读取的格式。字符串就不必了。
参考我的博客
http://www.cnblogs.com/lewis617/p/5184621.html用Flask搭建一个RESTful服务,以JSON作为数据接口,这样前台就能获取后台的数据。tornado + websocket 也是一个选择,格式 json 比较方便。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2537224.html