欢迎访问宙启技术站
智能推送

Flask的run()方法与服务器端口的绑定及配置

发布时间:2023-12-28 02:38:45

Flask的run()方法用于启动一个基于Werkzeug的开发服务器。

简单起见,我们可以直接调用run()方法来启动服务器,Flask会自动使用localhost和默认端口号5000:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, World!'

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

上述代码定义了一个最简单的Flask应用,并使用run()方法启动了开发服务器。当运行这段代码时,我们可以在浏览器中访问http://localhost:5000来查看结果。

如果我们想要绑定不同的端口号或者IP地址,可以通过在run()方法中传递参数来实现:

app.run(host='0.0.0.0', port=8080)

上述代码将会绑定服务器到IP地址0.0.0.0和端口号8080

除了直接在代码中指定参数外,我们也可以使用环境变量来配置Flask应用的服务器地址和端口号:

import os
from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, World!'

if __name__ == '__main__':
    host = os.environ.get('FLASK_HOST', 'localhost')
    port = int(os.environ.get('FLASK_PORT', '5000'))
    app.run(host=host, port=port)

上述代码通过读取环境变量FLASK_HOSTFLASK_PORT的值来设置服务器地址和端口号。如果环境变量未设置,则使用默认值。

我们还可以通过命令行参数来配置服务器地址和端口号,使用argparse模块可以方便地实现这一功能:

import argparse
from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, World!'

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('--host', default='localhost', help='The interface to bind to')
    parser.add_argument('--port', type=int, default=5000, help='The port to bind to')
    args = parser.parse_args()
    app.run(host=args.host, port=args.port)

上述代码使用argparse模块解析命令行参数,并将参数的值传递给run()方法。

此外,Flask还提供了其他一些可以配置服务器的选项,如debugssl_context等。更多详细信息可以参考Flask官方文档。