与此类似的代码工作正常,然后突然不行,我不知道为什么。希望有人可以提供帮助。我有以下内容:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
return "Hi"
if __name__ == "__main__":
app.run(debug=True)
当我运行它时,输出如下:
* Serving Flask app "app" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: on
没有错误,但也没有“在 http://localhost:5000/ 上运行”,并且该 URL 上没有加载任何内容(“无法访问此站点”)等。 我尝试过多种方式指定主机以及许多其他事情。还是一样得到。以前它工作正常,说“在 http://localhost:5000/ 上运行”,在我的浏览器中加载正常,等等。
我在这里缺少什么?
您可以在脚本上显式设置主机和端口:
# ...
if __name__ == "__main__":
app.run(host='localhost', port=5000, debug=True) # or setting host to '0.0.0.0'
我也遇到了同样的问题,但已经解决了。我从 Windows 迁移到 macOS。它与 apache 服务器有关,我们必须将虚拟主机绑定到 Flask 代理
LoadModule proxy_module libexec/apache2/mod_proxy.so
LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so
<VirtualHost *:80>
ServerName localhost
ProxyPass "/" "http://localhost:5000/"
ProxyPassReverse "/" "http://localhost:5000/"
</VirtualHost>
sudo apachectl restart