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



我有一些自定义的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")

谢谢

我会做这样的事情:

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是常见的。

最新更新