将自定义 CLI 命令移动到另一个文件

2024-04-16

我有一些针对我正在编写的 Flask 应用程序的自定义 cli 命令。我正在按照此处的说明进行操作:

命令行界面 http://flask.pocoo.org/docs/1.0/cli/

问题是我不想把它们全部放在我的 app.py 文件中,它会变得臃肿。我想做的是拥有我的项目结构:

project
  |_ app.py
  |_ cli.py

我考虑过使用蓝图,但我得到“蓝图没有属性‘cli’”

这是我尝试过的:

cli = Blueprint('cli', __name__)  # I knew this would not work but I had to try

@cli.cli.command()
@click.argument('name')
def create_user(name):
    print("hello")

Thanks


我会做这样的事情:

cli.py:

from flask import Flask
import click

def register_cli(app: Flask):
    @app.cli.command()
    @click.argument('name')
    def create_user(name):
        print("hello", name)

app.py:

from flask import Flask
from cli import register_cli

app = Flask(__name__)
register_cli(app)

创建和配置(或只是配置)是很常见的app in 工厂功能 http://flask.pocoo.org/docs/1.0/tutorial/factory/#the-application-factory.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将自定义 CLI 命令移动到另一个文件 的相关文章

随机推荐