Example #1
0
def db(app):
    """数据库
    """
    with app.app_context():
        database.create_all()
        yield db
        database.drop_all()
Example #2
0
def create_app():
	"""创建并初始化 Flask app
	主要三个事情:1.创建app对象 2.读取配置 3. 初始化扩展和注册蓝图 
	"""

	#创建app对象
	app = Flask('rmon')

	#根据环境变量加载开发环境或生产环境配置
	env = os.environ.get('RMON_ENV')

	if env in ('pro', 'prod', 'product'):
		app.config.from_object(ProductConfig)
	else:
		app.config.from_object(DevConfig)

	# 从环境变量RMON_SETTINGS指定的文件中加载配置
	app.config.from_envvar('RMON_SETTINGS', silent=True)

	app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

	#注册 Blueprint
	app.register_blueprint(api)
	#初始化数据库(扩展)
	db.init_app(app)
	# 如果是开发环境则创建所有数据库表
	if app.debug:
		with app.app_context():
			db.create_all()
	return app
Example #3
0
def init_db():
    """初始化数据库
    """
    db.create_all()
    print("sqlite3 database file is %s" %
          app.config['SQLALCHEMY_DATABASE_URI'])

    # create administrator
    name, password = User.create_administrator()

    # 如果 password 为空,代表已经存在 admin 账户
    if password != '':
        print("create admin user %s with password %s" % (name, password))
Example #4
0
def create_app(config=None):
    """ 创建并初始化 Flask app

    Args:
        config(dict): 配置字典

    Returns:
        app (object): Flask App 实例
    """

    app = Flask('rmon')

    # 根据环境变量加载开发环境或生产环境配置
    env = os.environ.get('RMON_ENV')

    if env in ('pro', 'prod', 'product'):
        app.config.from_object(ProductConfig)
    else:
        app.config.from_object(DevConfig)

    # 从环境变量 RMON_SETTINGS 指定的文件中加载配置
    app.config.from_envvar('RMON_SETTINGS', silent=True)

    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

    # 从 config 参数更新配置
    if config is not None:
        app.config.update(config)

    # 注册 Blueprint
    app.register_blueprint(api)
    # 初始化数据库
    db.init_app(app)

    # 初始化微信消息处理器
    wx_dispatcher.init_app(app)

    # 如果是开发环境则创建所有数据库表
    if app.debug and not app.testing:
        with app.app_context():
            db.create_all()
            name, password = User.create_administrator()
            app.logger.debug('create administrator name/password %s/%s', name,
                             password)
    return app
Example #5
0
def init_db():
    """初始化数据库
	"""
    print("sqllite3 database file is %s" %
          app.config['SQLALCHEMY_DATABASE_URI'])
    db.create_all()