如何在配置模块中设置Flask应用程序的主机和端口?

时间:2018-03-17 05:37:43

标签: python flask

要在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方法中的参数的情况下让我的应用程序在另一台主机和端口上运行?

1 个答案:

答案 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)