我试图在本地计算机上运行Flask应用程序,但是在浏览器中,我收到错误连接被拒绝的消息,有时我在终端中收到了该消息。该应用程序确实创建了我的表,但是我无法在浏览器中查看它。对于我尝试过的主机,localhost,0.0.0.0和127.0.0.1,对于端口我尝试过的端口5000、8000、8080、8002,每次都遇到相同的错误。我的机器上确实安装了VPN,但是它已关闭,并且在没有运行应用程序的情况下进行了全新的重启,但仍然出现错误。怎么了?
我正在运行Windows 10,并使用一个无聊的虚拟盒子,该虚拟盒子运行ubuntu 16并使用gitbash。我的计算机上有一个用于VPN的ipVanish应用程序,但vpn已关闭,我没有打开应用程序就重新启动,仍然有问题
这是我的代码:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import os
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql+psycopg2://postgres:F00tBall@127.0.0.1:5432/example'
db = SQLAlchemy(app)
class Person(db.Model):
__tablename__ = 'persons'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(), nullable=False)
db.create_all()
@app.route('/')
def index():
person = Person.query.first()
return 'Hello ' + person.name
if __name__ == '__main__':
app.secret_key = 'super_secret_key'
app.debug = True
port = int(os.environ.get('PORT', 5000))
app.run(host= '127.0.0.1', port=port)
我也尝试过
app.run(host='127.0.0.1', port=5000)
我跑了 `
sudo ufw allow 5000
但这似乎没有任何作用。
这是怎么回事?
答案 0 :(得分:0)
如果要在VM内运行Flask,则'localhost'表示VM本地。您的浏览器可能在VM外部,因此不在本地。代替127.0.0.1,使用0.0.0.0
再试一次。
答案 1 :(得分:0)
您是否尝试过使用host = 0.0.0.0。
我知道这会导致烧瓶在运行它的机器的IP地址上使用。然后在端口5000上连接到该IP地址?