Перемещение пользовательских команд консоли в другой файл - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть несколько пользовательских команд cli для приложения колбы, которое я пишу.Я следую инструкциям здесь:

Интерфейс командной строки

Проблема в том, что я не хочу помещать их все в мой файл app.py, он получитoverbloated.То, что я хотел бы сделать, это иметь структуру моего проекта:

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")

Спасибо

1 Ответ

0 голосов
/ 22 февраля 2019

Я бы сделал что-то вроде этого:

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 в заводские функции .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...