【问题标题】:Can't run example code referenced in Flask docs无法运行 Flask 文档中引用的示例代码
【发布时间】:2016-06-13 14:13:22
【问题描述】:

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

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

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

【问题讨论】:

    标签: python flask


    【解决方案1】:

    您正在阅读开发文档,但使用的是最新的稳定版本 (0.10.1)。当前版本包括许多更改,包括 cli。要试用最新的代码,请使用:

    pip install https://github.com/mitsuhiko/flask/tarball/master
    

    要在最新的稳定版本中获得类似的功能,您需要编写自己的命令或使用第三方扩展,例如 Flask-Script。一个新的扩展,Flask-CLI,将新的 Click 接口从主版本向后移植到稳定版本。

    【讨论】:

      【解决方案2】:

      这是我的工作方式:

      更改函数 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

      【讨论】:

        【解决方案3】:

        或者你可以像这样操作示例 python 脚本,拿这个example 比如

        1. 安装点击pip install click
        2. 修改minitwit.python,从flask_cli模块导入FlaskCli
        3. app.config.from_envvar('MINITWIT_SETTINGS', silent=True) 下添加FlaskCLI(app) 对其进行初始化

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-01-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-25
          • 1970-01-01
          相关资源
          最近更新 更多