我正在阅读Flask文档,并希望使用他们在git repo中引用的示例。但是,教程与存储库中的代码不匹配,我无法运行它们;我收到以下错误:
@app.cli.command('initdb')
AttributeError: 'Flask' object has no attribute 'cli'
我使用pip install flask
安装Flask。为什么我不能运行回购代码?
答案 0 :(得分:6)
您正在阅读开发文档,但使用最新的稳定版本(0.10.1)。当前构建包括许多更改,包括cli。要试用最新代码,请使用:
pip install https://github.com/mitsuhiko/flask/tarball/master
要在最新的稳定版本中获得类似内容,您需要编写自己的命令或使用Flask-Script等第三方扩展。新的扩展Flask-CLI将新的Click接口从master转发到稳定版本。
答案 1 :(得分:3)
以下是我的工作方式:
更改函数init_db()
def init_db():
with app.app_context():
db = get_db()
with app.open_resource('schema.sql', mode='r') as f:
db.cursor().executescript(f.read())
db.commit()
并添加此内容,
if __name__ == '__main__':
init_db()
app.run()
要跑步,
python flaskr.py
答案 2 :(得分:0)
或者你可以像这样操纵示例python脚本,拿这个example 例如
pip install click
FlaskCli
模块flask_cli
FlaskCLI(app)
app.config.from_envvar('MINITWIT_SETTINGS', silent=True)
来初始化它
醇>