简体   繁体   English

为什么在使用flask-script与模型进行交互时不需要app_context?

[英]Why no need app_context when use flask-script interact with models?

My flask-script code is below, I read the document appcontext : 我的flask-script代码在下面,我阅读了appcontext文档:

from flask_script import Manager
from app import app
from models import User
from ext import db

manager = Manager(app)
db.init_app(app)

@manager.option('-u','--username',dest='username')
@manager.option('-p','--password',dest='password')
def add_user(username,password):
    user = User(username=username, password=password)
    db.session.add(user)
    db.session.commit()
    print 'success'

why it success without a app_context.for example: 为什么没有app_context成功,例如:

@manager.option('-u','--username',dest='username')
@manager.option('-p','--password',dest='password')
def add_user(username,password):
    with app.app_context():
        user = User(username=username, password=password)
        db.session.add(user)
        db.session.commit()
        print 'success'

因为烧瓶脚本在应用程序中声明,所以要维护应用程序上下文

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM