【发布时间】:2020-03-20 18:05:36
【问题描述】:
我想使用“flask”命令从终端运行一些命令,但它不起作用。
以下是我的项目结构-
FlaskUserAuthentication
├── FlaskUserAuthentication
│ ├── API
│ │ ├── __init__.py
│ │ ├── db_models.py
│ │ └── routes.py
│ ├── Site
│ │ ├── __init__.py
│ │ ├── routes.py
│ │ ├── static
│ │ │ └── form_style.css
│ │ └── templates
│ │ └── Site
│ │ ├── base_layout.html
│ │ ├── index.html
│ │ ├── logout.html
│ │ ├── profile.html
│ │ ├── signin.html
│ │ └── signup.html
│ ├── __init__.py
│ └── commands.py
├── run.py
└── venv
当flask run 命令运行应用程序时,我确信我的环境变量设置正确。但是,当我尝试使用 flask-cli-command like-
flask create_db
我明白了,Error: No such command "create_db".
以下是我的FlaskUserAuthentication/commands.py文件-
from FlaskUserAuthentication import app, db
from FlaskUserAuthentication.API.db_models import Group, Member, Project, Milestone
@app.cli.command('create_db')
def createDatabase():
db.create_all()
print('***** Datebase created ****')
#....some more commands
和FlaskUserAuthentication/__init__.py 模块(Flask 应用实例被启动的地方)-
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SECRET_KEY'] = 'justasamplekey'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.db'
db = SQLAlchemy(app)
from FlaskUserAuthentication.API.routes import api
from FlaskUserAuthentication.Site.routes import site
app.register_blueprint(api)
app.register_blueprint(site)
【问题讨论】:
-
我不知道为什么我的问题被否决了,但这不是一个重复的问题,因为我在堆栈上尝试了其他解决方案并解决了这个问题。无论如何,我需要帮助,所以无论是否投反对票,任何人都可以指导我正确的方向,因为我对自己做错了什么感到困惑。
-
试试下面的
flask --help它会显示在flask cli下注册的所有命令。此外,您的CLIGroup应该在我假设您正在运行服务器的run.py中执行。 -
flask --help 对我没有多大帮助,因为它只是告诉我如何执行一个命令和三个可用的命令,但我需要知道我的问题的根源。跨度>
标签: python flask environment-variables command-line-arguments flask-cli