我有一个烧瓶应用程序运行,我想要的东西,可以与它互动。让我用下面的例子来解释一下:
Flask应用:
from flask import Flask
MyApp = Flask(__name__)
mytext = "Hello World!"
@app.route('/')
def hello_world():
return mytext
def text_reload():
global mytext
mytext = "Hey! I have been reloaded!"
if __name__ == '__main__':
MyApp.run()Flask-Script (manager.py):
from flask.ext.script import Manager
from myapp import MyApp
manager = Manager(MyApp)
@manager.command
def reload_mytext():
**DO SOME MAGIC HERE**
if __name__ == '__main__':
manager.run()该reload_mytext()从应用程序内部调用text_reload()函数。
我应该在flask-script中使用什么魔法来完成这个任务呢?这样的事情有可能发生吗?
发布于 2015-09-24 07:29:52
我想app.app_context()就是您要找的。但你首先需要让上下文看起来像。
def _make_context():
return dict(app=app, db=db, models=models)
manager = Manager(create_app)
manager.add_command("livereload", liveReloadServer, Shell(make_context=_make_context))然后:
class liveReloadServer(Command):
"""prints hello world"""
def run(self):
with app.app_context():
server = Server(app.wsgi_app)
app.config['LIVERELOAD'] = True
server.serve(port=8080)https://stackoverflow.com/questions/23064494
复制相似问题