Flask-Script add_option 方法无效

4 投票
1 回答
1313 浏览
提问于 2025-04-18 15:44

我正在使用flask-script的add_option方法,想把配置文件的名字传递给我的create_app()函数,这样我就可以用from_pyfile()来配置它——Flask实例文件夹

我用这个代码片段来开始我的项目。

manage.py

from fbone import create_app

app = create_app()
manager = Manager(app)
manager.add_option('-c', '--config', dest='config', required=False)

app.py

def create_app(config=None, app_name=None, blueprints=None):
    """Create a Flask app."""

    print config

这是我create_app函数的一小部分,但我启动应用的方式是这样的:

$ python manage.py -c config/heroku.cfg runserver
None
/env/lib/python2.7/site-packages/flask_script/__init__.py:153: UserWarning: Options will be ignored.
* Running on http://127.0.0.1:5000/
* Restarting with reloader
None

你可以看到,它不是打印config/heroku.cfg,而是打印了None。我觉得这可能是因为flask-script发出的UserWarning,但我找不到为什么会这样。

1 个回答

4

其实你是在通过调用 create_app()(带括号的)来创建flask对象。

如果你这样做:

app=create_app

或者这样:

Manager(create_app)

那么你就应该能够使用 add_option()

撰写回答