代码之家  ›  专栏  ›  技术社区  ›  Kermit

python flask服务器需要很长时间才能启动

  •  2
  • Kermit  · 技术社区  · 6 年前

    我有一个奇怪的问题,当我在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
    

    奇怪的是,当我在PyTracle调试器中运行上面相同的代码时,烧瓶服务器需要大约5秒的启动时间,比在控制台中运行的几分钟要快得多。我喜欢这样的速度,当运行脚本正常,无法找到一个解决方案,因为问题在调试器时自己修复! 这个代码片段是一个更大的应用程序的一部分,但是我已经对它进行了调整,使其能够独立运行,同样的问题也会发生。 我不是在玩虚拟机。 感谢大家的帮助。

    编辑:索引.html文档是非常基础的,只包含了一些脚本和元素,因此我看不到它花了很长的时间来加载。

    1 回复  |  直到 6 年前
        1
  •  2
  •   minecraftplayer1234    6 年前

    问题是你的 Flask 安装,但还有一个。你不应该用 while 循环。更好的方法是 join 你的线,像这样:

    a = threading.Thread(target=setupFlask)
    a.daemon = True
    a.start()
    a.join()