Windows 10 使用 Flask 和 Python 使用一行代码在本地托管网络应用程序

Host a web app locally with Windows 10 using Flask and Python with one line of code

我已经使用 Flask 构建了一个 Web 应用程序,但暂时无法将其托管在云服务器中。我想将它托管在我的 Windows 10 OS 中,并且我不担心该应用程序是否具有安全证书,因为它旨在显示为原型。三个文件足以展示应用程序的结果:

myapp.py:

# This a Natural Language Processing app using a machine learning model

class Lingus:
    def __init__(self, data):
        self.text = data
    def output(self):
        return self.text+" - "+self.text+"\n"+self.text

接下来,是文件夹模板 templates/my-form.html:

中的一个 html 文件
<form method="POST">
    <input name="text">
    <input type="submit">
</form>

最后,一个 python 脚本使用 flask 用于名为 main.py 的应用程序:

from flask import Flask, request, render_template
from myapp import Lingus

app = Flask(__name__)

@app.route('/')
def my_form():
    return render_template('my-form.html')

@app.route('/', methods=['POST'])
def my_form_post():
    text = request.form['text']
    processed_text = text.upper()
    result = Ling(text)
    return result.output()

if __name__ == "__main__":
    app.run(debug=True)

同样,目标是使用 Windows 使该应用程序可以通过 Web 中的任何浏览器访问(非本地) 10. 我没有后端开发或网络工程方面的经验,但我认为这在技术上是可行的。

PS: 我不需要应用程序为客户提供安全证书。

v25 问题评论中的解决方案非常有效。它避免了端口转发,包括下载 ngrok 并为要在本地托管的应用程序编写一行代码。你只需要在免费帐户上下载 ngrok,然后写 ngrok http < PORT ON WHICH YOUR APP IS RUNNING >。我在端口 5000 上 运行ning 我的烧瓶应用程序,所以对于我的情况,我在本地 运行 应用程序,打开 ngrok.exe 并写道:

ngrok http 5000

就是这样。现在,我可以向任何人展示我的应用程序原型,并提供给用户进行测试。但是,应用程序地址每 8 小时更改一次,您应该升级您的帐户以获得应用程序的静态地址。