【问题标题】:The browser only shows the first application results with Flask浏览器仅显示使用 Flask 的第一个应用程序结果
【发布时间】:2016-05-31 08:30:12
【问题描述】:

当我运行代码时:

from flask import Flask
app = Flask(__name__)


@app.route('/')
def index():
    return "Hello, world!"

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

我在 chrome 浏览器中得到字符串 "Hello, world!",但是当我更改代码时:

return "Hello, world!"

到:

return "Hello"

浏览器还会显示“Hello, world!”而不是“Hello”

这是怎么发生的?

【问题讨论】:

  • 你重启服务器了吗?
  • @RajaSimon 烧瓶应该用debug=True重新加载自己
  • @Jieter 是的,它将重新加载。如果他更改返回字符串,它将重新加载。我在想为什么不重新加载...
  • 刚刚复制了你的例子并在本地运行,我看到flask reload on file change` * Detected change in '[...]flask-test/app.py', reloading, and get Hello`按预期更改返回值后。
  • 可能我的 Flask 配置有问题,但我只是按照 Flask 教程文档进行操作。

标签: python flask


【解决方案1】:

也许您的浏览器缓存了该页面?使用 Ctrl + F5 强制重新加载,或将 ?foo=1 附加到 url 以使您的浏览器向您的 Web 应用程序发出新请求。

【讨论】:

  • 感谢您的建议,我已尝试使用 Ctrl + F5 或将 ?foo=1 附加到 url,但浏览器也显示 Hello, world!
  • 嗯,您使用的是debug=True,所以我希望flask 在您编辑后重新加载更改的文件。你确定你保存了吗?保存文件后是否看到烧瓶重新加载?
  • 是的,我看到了Restarting with stat, Debugger is active!, Debugger pin code: 334-192-961
  • 您在控制台中看到的每个请求是这样的吗:127.0.0.1 - - [31/May/2016 11:03:15] "GET /?foo=1 HTTP/1.1" 200 -
  • 是的,如果我设置app.run()而不是app.run(debug=True),控制台将显示Running on http://127.0.0.1:5000/ (Press CTRL+C to quit),但如果我使用debug=True,控制台将显示Restarting with stat, Debugger is active!, Debugger pin code: 334-192-961
猜你喜欢
  • 1970-01-01
  • 2014-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多