首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Flask-Script中与Flask的应用程序交互

在Flask-Script中与Flask的应用程序交互
EN

Stack Overflow用户
提问于 2014-04-14 23:47:57
回答 1查看 1.4K关注 0票数 1

我有一个烧瓶应用程序运行,我想要的东西,可以与它互动。让我用下面的例子来解释一下:

Flask应用:

代码语言:javascript
复制
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):

代码语言:javascript
复制
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中使用什么魔法来完成这个任务呢?这样的事情有可能发生吗?

EN

回答 1

Stack Overflow用户

发布于 2015-09-24 07:29:52

我想app.app_context()就是您要找的。但你首先需要让上下文看起来像。

代码语言:javascript
复制
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))

然后:

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23064494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档