Python Flask 服务器启动时间较长

Tom*_*nna 5 html python flask python-3.x

我有一个奇怪的问题,当我在 PyCharm 中或通过控制台(python script.py)运行下面的代码时,flask 服务器需要很长时间才能启动,这意味着在尝试访问它时,它在好几分钟内没有显示任何内容。

import threading
from flask import render_template, request, logging, Flask, redirect

def setupFlask():
    appn = Flask(__name__)
    log = logging.getLogger('werkzeug')
    log.setLevel(logging.ERROR)


    @appn.route('/')
    def page():
        return render_template('index.html')


    @appn.route('/submit', methods=['POST'])
    def submit():
        token = request.form['ID']
        ID = token
        return redirect('/')

    appn.run()
a = threading.Thread(target=setupFlask)
a.daemon = True
a.start()
while True:
    pass
Run Code Online (Sandbox Code Playgroud)

奇怪的是,当我在 PyCharm 调试器中运行上面相同的代码时,flask 服务器启动大约需要 5 秒,比在控制台中运行时所需的几分钟要快得多。我希望正常运行脚本时能有这样的速度,并且由于在调试器中问题自行修复而无法找到解决方案!此代码片段是较大应用程序的一部分,但是我已将其调整为单独运行,并且出现了相同的问题。我没有在 virtualenv 中运行。感谢所有帮助。

编辑:index.html 文档非常基本,只包含一些脚本和元素,因此我看不到它需要很长时间才能加载。

min*_*234 2

问题出在您的Flask安装上,但还有另一个问题。您不应该用循环等待线程while。更好的方法是加入您的线程,如下所示:

a = threading.Thread(target=setupFlask)
a.daemon = True
a.start()
a.join()
Run Code Online (Sandbox Code Playgroud)