要在Flask中执行应用程序,我们使用方法
host, port, debug
在这个方法中,我们可以传递配置参数,其中包括:
host = localhost
port = 5000
默认情况下,Flask应用程序在
中执行app.run (host = "10.100.100.10", port = 9566)
因此,如果我们想要更改该配置,我们将其传递给run方法
app.config.update (
DEBUG = True,
SECRET_KEY = '...'
)
如果您希望为应用程序(生产,开发,测试)配置不同的配置,则必须定义配置字典,如下所示:
class Base(object):
DEBUG = False
SECRET_KEY = "Shhhh is a secret"
SERVER_NAME="localhost:5000"
class Develop(Base):
SERVER_NAME="10.100.100.10:5001"
或者更多指定创建配置模块:
SERVER_NAME
阅读(http://flask.pocoo.org/docs/0.12/config/)我发现了这个属性:
app.config.update (
DEBUG = True,
SERVER_NAME = "10.100.100.10:6500"
)
and
class Base(object):
DEBUG = False
SECRET_KEY = "Shhhh is a secret"
SERVER_NAME="localhost:5000"
class Develop(Base):
SERVER_NAME="10.100.100.10:5001"
and
app = Flask(__name__)
app.config.from_object('config.Develop')
引用Flask文档:
服务器的名称和端口号。子域支持需要 (例如:'myapp.dev:5000')请注意localhost不支持 subdomains所以将其设置为“localhost”没有帮助。设置为 默认情况下,SERVER_NAME也可以在没有请求的情况下生成URL 上下文,但有应用程序上下文。
此属性应更改主机和端口。
我之后定义了这个:
Running in 127.0.0.1:5000
因此,它在执行应用程序时不断显示:
{{1}}
如何在不使用run方法中的参数的情况下让我的应用程序在另一台主机和端口上运行?
答案 0 :(得分:2)
为什么需要在run方法之外设置端口?别忘了这样的部署仅用于开发目的。在您的内置服务器中,但您可以更改端口:某处您应该有类似app.run()
的内容
我发布了一个可运行的代码,其端口设置为5001.我希望它有所帮助。
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run(port=5001)