希望用flask作为中介让python和js交互,大家有什么比较好的实践经验没?
我试过了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服务,服务器平衡等等,我觉得这不是你关心的。
此外,强烈推荐数据可视化控,可以试试ipython notebook. 这篇Visualizing a NetworkX graph in the IPython notebook with d3.js可能会让你强烈地喜欢上ipython notebook.
新手的个人经验:比如现在我们要将一个数据从Javascript传输到Flask, 进行处理后再传回Javascript. 我们可以使用jQuery中的getJSON, 并将数据转化为String后进行传输.
Javascript + jQuery:
<span class="nx">mydata</span> <span class="o">=</span> <span class="p">{</span><span class="s2">"msg"</span><span class="p">,</span> <span class="s2">"Hello Flask."</span><span class="p">};</span> <span class="c1">// 要传输的数据</span> <span class="nx">$</span><span class="p">.</span><span class="nx">getJSON</span><span class="p">(</span><span class="s1">'/dataconvector'</span><span class="p">,</span> <span class="p">{</span> <span class="c1">// Flask中获取数据的function的url</span> <span class="nx">mykey</span><span class="o">:</span> <span class="nx">JSON</span><span class="p">.</span><span class="nx">stringify</span><span class="p">(</span><span class="nx">mydata</span><span class="p">)</span> <span class="c1">// 定义一个keyword, 将数据stringify</span> <span class="p">},</span> <span class="kd">function</span><span class="p">(</span><span class="nx">data</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// 从Flask返回的数据</span> <span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">data</span><span class="p">.</span><span class="nx">result</span><span class="p">);</span> <span class="nx">$</span><span class="p">(</span> <span class="s2">"#result"</span> <span class="p">).</span><span class="nx">text</span><span class="p">(</span><span class="nx">data</span><span class="p">.</span><span class="nx">result</span><span class="p">);</span> <span class="p">}</span> <span class="p">);</span>
另外推荐神器 GitHub - brython-dev/brython: Brython (Browser Python) is an implementation of Python 3 running in the browser
bottle-websocket flask-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 比较方便。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

pandas安装教程:解析常见安装错误及其解决方法,需要具体代码示例引言:Pandas是一个强大的数据分析工具,广泛应用于数据清洗、数据处理和数据可视化等方面,因此在数据科学领域备受推崇。然而,由于环境配置和依赖问题,安装pandas可能会遇到一些困难和错误。本文将为大家提供一份pandas安装教程,并解析一些常见的安装错误及其解决方法。一、安装pandas

如何使用pandas正确读取txt文件,需要具体代码示例Pandas是一个广泛使用的Python数据分析库,它可以用于处理各种各样的数据类型,包括CSV文件、Excel文件、SQL数据库等。同时,它也可以用于读取文本文件,例如txt文件。但是,在读取txt文件时,我们有时会遇到一些问题,例如编码问题、分隔符问题等。本文将介绍如何使用pandas正确读取txt

从零开始,手把手教你安装Flask和快速搭建个人博客作为一个喜欢写作的人来说,拥有一个个人博客是非常重要的。而Flask作为一个轻量级的PythonWeb框架,可以帮助我们快速搭建一个简洁而功能完善的个人博客。在本文中,我将从零开始,手把手教你如何安装Flask并快速搭建个人博客。第一步:安装Python和pip在开始之前,我们需要先安装Python和pi

使用pandas读取txt文件的实用技巧,需要具体代码示例在数据分析和数据处理中,txt文件是一种常见的数据格式。使用pandas读取txt文件可以快速、方便地进行数据处理。本文将介绍几种实用的技巧,以帮助你更好的使用pandas读取txt文件,并配以具体的代码示例。读取带有分隔符的txt文件使用pandas读取带有分隔符的txt文件时,可以使用read_c

人脸检测识别技术已经是一个比较成熟且应用广泛的技术。而目前最为广泛的互联网应用语言非JS莫属,在Web前端实现人脸检测识别相比后端的人脸识别有优势也有弱势。优势包括减少网络交互、实时识别,大大缩短了用户等待时间,提高了用户体验;弱势是:受到模型大小限制,其中准确率也有限。如何在web端使用js实现人脸检测呢?为了实现Web端人脸识别,需要熟悉相关的编程语言和技术,如JavaScript、HTML、CSS、WebRTC等。同时还需要掌握相关的计算机视觉和人工智能技术。值得注意的是,由于Web端的计

Django和Flask都是PythonWeb框架中的佼佼者,它们都有着自己的优点和适用场景。本文将对这两个框架进行对比分析,并提供具体的代码示例。开发简介Django是一个全功能的Web框架,它的主要目的是为了快速开发复杂的Web应用。Django提供了许多内置的功能,比如ORM(对象关系映射)、表单、认证、管理后台等。这些功能使得Django在处理大型

Flask框架安装教程:一步步教你如何正确安装Flask框架,需要具体代码示例引言:Flask是一款简洁而灵活的PythonWeb开发框架。它易于学习、易于使用,并且具有强大的功能。本文将带领您一步步正确地安装Flask框架,并提供详细的代码示例供参考。第一步:安装Python在安装Flask框架之前,首先需要确保您的计算机上安装了Python。您可以从P

Pandas去重方法大揭秘:快速、高效的数据去重方式,需要具体代码示例在数据分析和处理过程中,经常会遇到数据中存在重复的情况。重复数据可能会对分析结果产生误导,因此去重是一个非常重要的工作环节。在Pandas这个强大的数据处理库中,提供了多种方法来实现数据去重,本文将介绍一些常用的去重方法,并附上具体的代码示例。基于单列去重最常见的情况是根据某一列的值是否重
