首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我是否可以将Flask服务器添加到现有的Node web应用程序?

我是否可以将Flask服务器添加到现有的Node web应用程序?
EN

Stack Overflow用户
提问于 2018-09-04 07:03:24
回答 1查看 1.2K关注 0票数 -1

我有一个web应用程序和一些Python脚本,我想在一些输入的文本上运行。我环顾四周,似乎Flask是最好的解决方案,但这不意味着我会有两个web服务器吗?

那么,当用户提交一些文本,运行Python脚本,然后停止Flask服务器时,我会启动Flask服务器吗?我该怎么做呢?应用程序是JS/jQuery。

另一种解决方案似乎是将Python重写为JavaScript,当然我对此犹豫不决。

EN

回答 1

Stack Overflow用户

发布于 2018-09-04 08:15:29

您可以使用flask-restful扩展创建一个Flask应用程序,该应用程序仅用作Node.js web应用程序的API。链接到用户指南here

您可能会遇到跨域资源共享(CORS)的问题,因此您可能还需要通过pip安装flask-cors扩展。链接here

以下是您应该开始使用的基本设置:

from flask import Flask
from flask_restful import Api, Resource, reqparse
from flask_cors import CORS
from flask_restful import Resource

# Import your python module containing the script
import your_python_scripts_module as scripts

app = Flask(__name__)
api = Api(app)
CORS(app, origins=['address of your node app'])
parser = reqparse.RequestParser()
parser.add_argument('text')

class YourClass(Resource):
    def post(self):
        args = parser.parse_args()
        # Invoke your text processing script here
        processed_text = scripts.text_processor(args['text'])
        response = {'data': processed_text}
        return response, 200

# This is where the routing is specified
api.add_resource(YourClass, '/your_api_endpoint')

if "__name__" == "__main__":
    app.run(host='address_of_flask_app')

至于你关于从Node应用程序启动和关闭服务器的问题,我(目前)还不能帮助你。我对此没有任何经验。

上面的设置是一个简单的烧瓶模块。您可以使用guide here将应用程序设置为软件包。

祝好运!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52156945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档