《flask web开发》第七章 大型程序架构 (续)

来源:互联网 发布:软件开发项目经验总结 编辑:程序博客网 时间:2024/06/08 12:20

启动文件 manage.py

import osfrom app import create_app, dbfrom app.models import User, Rolefrom flask_script import Manager, Shellfrom flask_migrate import MigrateCommand, Migrateapp = create_app(os.getenv('FLASK_CONFIG') or 'default')manager = Manager(app)migrate = Migrate(app, db)def make_shell_context():    return dict(app=app, db=db, User=User, Role=Role)manager.add_command("shell", Shell(make_context=make_shell_context))manager.add_command('db', MigrateCommand)if __name__ == '__main__':    manager.run()

本章介绍的是flask的经典结构,有一些需要注意的地方

在config中用staticmethod装饰器修饰了init_app()方法,因此可以在app的构造文件中直接使用bootstrap.init_app(app)

第二个注意的地方是from . import ,这是一种包导入的方法

第三个地方是,创建蓝本后在蓝本中app改为蓝本名,url_for()中的端点名前要加上蓝本名

第四个地方是,如果使用errorhandler修饰器,那么只有蓝本中的错误才能触发处理程序,为了在全局可用,使用app_errorhandler修饰器

0 0
原创粉丝点击