无法运行Flask文档中引用的示例代码

时间:2014-12-25 06:46:01

标签: python flask

我正在阅读Flask文档,并希望使用他们在git repo中引用的示例。但是,教程与存储库中的代码不匹配,我无法运行它们;我收到以下错误:

  @app.cli.command('initdb')
AttributeError: 'Flask' object has no attribute 'cli'

我使用pip install flask安装Flask。为什么我不能运行回购代码?

3 个答案:

答案 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 例如

  1. 安装点击pip install click
  2. 修改minitwit.python,从FlaskCli模块
  3. 导入flask_cli
  4. 通过在FlaskCLI(app)
  5. 下添加app.config.from_envvar('MINITWIT_SETTINGS', silent=True)来初始化它