我正在使用Flask创建一个网站,并且希望能够使用页面中的数据执行python代码。我知道我可以简单地使用表单,但是它是一个页面,它在接收用户输入时会不断更新,并且每次发生任何事情时都要重新加载页面,这是一个很大的麻烦。我知道我可以{{ function() }}
在javascript内执行操作,但是如何{{ function(args) }}
使用js变量在javascript内执行操作?到目前为止,我唯一能想到的就是用js更新外部数据库(如MongoDB),然后使用Python进行读取,但是此过程会大大降低网站速度。
jQuery需要从Python函数中获取字典对象的列表,然后可以在html中使用它。因此,我需要能够执行以下操作:
JS:
var dictlist = { getDictList(args) };
dictlist.each(function() {
$("<.Class>").text($(this)['Value']).appendTo("#element");
});
python:
def getDictList(args):
return dictlistMadeFromArgs
要使用Flask将数据从Javascript获取到Python,您可以使用数据发出AJAX
POST
请求或AJAX
GET
请求。
Flask有六个可用的HTTP方法,我们只需要GET和POST。两者都将jsdata
作为参数,但是以不同的方式获取它。这就是在两种不同环境(例如Python和Javascript)中交换两种完全不同的语言的方式。
首先,在Flask中实例化GET路线:
@app.route('/getmethod/<jsdata>')
def get_javascript_data(jsdata):
return jsdata
或POST之一:
@app.route('/postmethod', methods = ['POST'])
def get_post_javascript_data():
jsdata = request.form['javascript_data']
return jsdata
第一种是通过访问/getmethod/<javascript_data>
与AJAX
GET
如下:
$.get( "/getmethod/<javascript_data>" );
通过使用AJAX POST请求的第二个:
$.post( "/postmethod", {
javascript_data: data
});
javascript_data
JSON dict或简单值在哪里。
如果您选择JSON,请确保将其转换为Python中的字典:
json.loads(jsdata)[0]
例如。
得到:
@app.route('/getmethod/<jsdata>')
def get_javascript_data(jsdata):
return json.loads(jsdata)[0]
开机自检:
@app.route('/postmethod', methods = ['POST'])
def get_post_javascript_data():
jsdata = request.form['javascript_data']
return json.loads(jsdata)[0]
如果您需要反过来做,将Python数据压入Javascript,则创建一个简单的GET路由,不带返回JSON编码的dict的参数:
@app.route('/getpythondata')
def get_python_data():
return json.dumps(pythondata)
从JQuery检索并解码:
$.get("/getpythondata", function(data) {
console.log($.parseJSON(data))
})
该[0]
中json.loads(jsdata)[0]
有没有因为当你解码Python中的JSON编码字典,你得到的单字典里面,存储在索引0,所以你的JSON解码后的数据看起来像这样的列表:
[{'foo':'bar','baz':'jazz'}] #[0: {'foo':'bar','baz':'jazz'}]
由于我们需要的只是字典中的字典而不是列表,因此我们将存储在索引为0的项目作为字典。
另外,import json
。
我正在尝试在我的网站上实现一个拖放文件上传器。文件被删除后立即上传,我想生成一个URL与flask将弹出在预览。我正在使用Dropzone.js。在dropzone的文档中,提供了一个示例,作为将数据从服务器发回并在文件上载后显示的指南。https://github.com/enyo/dropzone/wiki/faq#i-want-to-display-additution-informatio
问题内容: 我想知道是否有一种方法可以从HTML的文本框中获取内容,将其输入flask,然后使用Python解析该数据。我以为这可能涉及一些JS,但我可能是错的。有任何想法吗? 问题答案: 除非你想做更复杂的事情,否则将数据从HTML表单输入Flask非常简单。 创建一个接受POST请求()的视图。 访问字典中的表单元素。
我正在使用Python语言。我有csv文件,我需要转换成json并发送到kafka,然后发送到ElasticSearch。 我能够将Csv转换为Json并发送给Kafka消费者。如何从Kafka Consumer向ElasticSearch获取数据
问题内容: 我是Rails和Web开发的新手。 我正在Matlab中生成一堆对象,我想将这些对象发送到我的Rails应用程序中的数据库中。谁能建议我该怎么做? 到目前为止,在Rails端,我已经为数据生成了基本的支架。我可以使用“ / myobjects / new”中的表单将对象添加到数据库中。 在Matlab端,我一直在尝试使用HTTP POST请求添加对象,如下所示: 这将失败,并将以下内容
我有一个片段,它打开一个对话框fragment来获取用户输入(一个字符串和一个整数)。我该如何将这两样东西送回碎片? 这是我的对话片段: 我需要在单击按钮之后和 以下是数据需要发送到的片段: 因此,一旦用户在Dialogfragment中选择日期,它必须返回月份和年份。 然后,按钮上的文本应更改为用户指定的月份和年份。
我是新的使用烧瓶或JS,因为,我找不到一个方法来做我想做的。我使用flask(在python中)创建了一个webserver,它使用index.html作为主页面,我希望每隔几秒(可能1-3秒)更新一次服务器数据。问题是,我没有任何形式可以使用,甚至没有查询,我不知道还可以使用什么。我想发送的数据是小字符串,稍后将保存在服务器主机上。