QQ小程序调用python(后端)代码
问题描述在开发QQ小程序的过程中,有时候需要用到一些python后端的模型(例如语音识别、图片转文字等等)或者已经实现的python代码。这些代码直接在小程序中实现比较麻烦或者根本不可能实现,这就需要在小程序中完成对现有代码的调用。解决方案首先用Flask构建一个Web应用程序框架,然后在小程序中向一个事先规定的url发送请求,接着便可以调用Falsk中相应的函数,以实现所需的功能。Flask使用
问题描述
在开发QQ小程序的过程中,有时候需要用到一些python后端的模型(例如语音识别、图片转文字等等)或者已经实现的python代码。这些代码直接在小程序中实现比较麻烦或者根本不可能实现,这就需要在小程序中完成对现有代码的调用。
解决方案
首先用Flask构建一个Web应用程序框架,然后在小程序中向一个事先规定的url发送请求,接着便可以调用Falsk中相应的函数,以实现所需的功能。
Flask使用
安装
在命令行中输入下列命令进行安装
pip install Flask
测试Flask安装
为了测试 Flask 安装,请在编辑器中将以下代码输入 Hello.py:
import os
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World'
if __name__ == '__main__':
app.run(debug=False, host='127.0.0.1', port=int(os.environ.get('PORT', 8080)))
必须在项目中导入Flask模块。
Flask构造函数使用当前模块(__name __)的名称作为参数。
Flask类的route()函数是一个装饰器,它告诉应用程序哪个URL应该调用相关的函数。
app.route(rule, options)
- rule 参数表示与该函数的URL绑定。
- options 是要转发给基础Rule对象的参数列表。
在上面的示例中,’/ ’ URL与hello_world()函数绑定。因此,当在浏览器中打开web服务器的主页时,将呈现该函数的输出。
最后,Flask类的run()方法在本地开发服务器上运行应用程序。
代码执行后,Python shell会有下列信息提示:
* Running on http://127.0.0.1:8080/ (Press CTRL+C to quit)
在小程序中调用python后端
在小程序中可以使用下列代码调用python后端
qq.request({
url: 'http://127.0.0.1:8080/',
method: "POST",
data: {}, //将数据传给后端
success: function(res){
console.log(res.data)
}
})
在data中可以放入我们想传递给后端的数据。
运行上述代码后,由于小程序向http://127.0.0.1:8080/发送了一个请求,这时我们之前编写的Flask框架会收到这个请求,并返回Hello World。
在Flask中接收小程序中的数据
在Flask中使用request.data
即可查看小程序中传递的数据,但要首先导入request库,使用下列代码进行导入。
from flask import request
更多推荐
所有评论(0)