You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为flask run命令添加自定义命令行参数

给flask run命令添加自定义参数的实现方法

Flask 的命令行体系基于 Click 框架,默认的flask run命令没有预留额外位置参数的接收逻辑,直接在后面加参数就会抛出你遇到的「意外额外参数」错误,你可以通过以下两种方案实现自定义参数传入:

方案一:扩展默认启动逻辑,添加自定义选项参数

在你的 Flask 应用入口文件(比如app.py)中添加如下代码,给应用初始化逻辑追加参数接收规则:

import click
from flask import Flask
from flask.cli import FlaskGroup

app = Flask(__name__)

@click.option('--myarg', default='default_value', help='自定义传入参数')
def create_app(myarg):
    # 可将拿到的参数存入应用配置,方便后续业务逻辑调用
    app.config['MY_CUSTOM_ARG'] = myarg
    return app

if __name__ == '__main__':
    cli = FlaskGroup(create_app=create_app)
    cli()

启动时使用以下命令传入参数即可:
flask --myarg arg1 run
业务逻辑中可以直接通过app.config['MY_CUSTOM_ARG']读取传入的参数值。

方案二:自定义专属启动命令

如果不想修改默认flask run的使用逻辑,也可以单独定义一个带参数的启动命令:

import click
from flask import Flask

app = Flask(__name__)

# 定义自定义启动命令
@app.cli.command('run-with-arg')
@click.argument('myarg')
def run_with_custom_arg(myarg):
    # 处理自定义参数逻辑
    app.config['MY_CUSTOM_ARG'] = myarg
    # 启动Flask应用
    app.run()

启动时执行以下命令即可传入位置参数:
flask run-with-arg arg1

补充说明:如果你的参数是敏感信息或者需要多环境复用,也可以考虑通过环境变量传递参数,Flask 本身支持自动读取以FLASK_开头的环境变量存入配置,不需要额外修改命令行规则。

内容的提问来源于stack exchange,提问作者Mehrdad Mirzaei

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 05:15:02