如何使用自定义参数运行Flask应用程序?
我正在尝试使用一些附加参数运行我的Flask应用程序。我使用click并面临以下问题。如果我不使用任何参数,只使用常规的flask run命令,则应用程序正在运行,但会忽略我的附加参数如何使用自定义参数运行Flask应用程序?,flask,Flask,我正在尝试使用一些附加参数运行我的Flask应用程序。我使用click并面临以下问题。如果我不使用任何参数,只使用常规的flask run命令,则应用程序正在运行,但会忽略我的附加参数 python -m flask run 如果我运行自定义命令,应用程序将执行命令代码,但不运行应用程序本身: python -m flask dbinit -u 相反,它只是通过并显示以下消息: D:….Me.Py:18:警告:静默忽略App.Run(),因为应用程序是从FulsScript命令行执行的。请考
python -m flask run
如果我运行自定义命令,应用程序将执行命令代码,但不运行应用程序本身:
python -m flask dbinit -u
相反,它只是通过并显示以下消息:
D:….Me.Py:18:警告:静默忽略App.Run(),因为应用程序是从FulsScript命令行执行的。请考虑将APP。
守则:
import click
from flask.cli import with_appcontext
from app import create_app, init_database
app = create_app()
@app.cli.command()
@with_appcontext
@click.option('-u', 'dbopt', flag_value='upgrade',
default='')
@click.option('-c', 'dbopt', flag_value='create',
default='')
def dbinit(dbopt):
print('init db', dbopt)
init_database(dbopt)
app.run(debug=False) # not working
我有env var FLASK_APP='myapp'
代码在Win7上运行。我从这里抓住了这个例子
我做错了什么?谢谢。您可以尝试从werkzeug运行
简单的
,这是我记忆中flask cli使用的。事情是这样的:
from werkzeug.serving import run_simple
return run_simple(
hostname=host,
port=port,
application=app,
use_reloader=reload,
use_debugger=debug,
)
使用
set FLASK\u APP=yourapp.py
然后尝试使用FLASK run
和FLASK dbinit
而不使用python@DarkSuniuM,我已经设置了FLASK_应用程序。我尝试在没有python的情况下使用flusk命令,结果是一样的:当我使用flask run时,它运行但忽略标志,如果我使用flask dbinit,它进入命令但不运行应用程序。