def register_extensions(app): db.init_app(app) login_manager.init_app(app) csrf.init_app(app) csrf.exempt(api_v1) babel.init_app(app) migrate.init_app(app, db)
def register_extensions(app): db.init_app(app) migrate.init_app(app) bootstrap.init_app(app) login_manager.init_app(app) csrf.init_app(app) moment.init_app(app)
def register_extensions(app): db.init_app(app) login_manager.init_app(app) csrf.init_app(app) # 对api不需要csrf防护 csrf.exempt(api_v1) babel.init_app(app)
def register_extensions(app): # db: 是flask_sqlalchemy扩展中导入的SQLAlchemy的实例, 主要用于简化连接数据库服务器,管理数据库操作回话等工作 db.init_app(app) # 完成flask扩展的初始化安装 # login_manager: 是flask_login扩展中导入的LoginManager类的实例,主要用于进行会话管理的相关操作,并完成用户合法性登陆和退出 login_manager.init_app(app) # 完成flask扩展的初始化安装 # 此回调可用于初始化与此数据库设置一起使用。不要在上下文中使用数据库否则连接将泄漏。 # csrf.init_app(app) # exempt()是csrf.py文件里CSRFProtect()类的一个方法,标记要从CSRF保护中排除的视图或蓝图。 # 由于web API中的视图不需要使用CSRF防护,因为Web API并不使用cookie认证用户,所以使用csrf.exemp()方法取消对API蓝本的CSRF防护, # 该方法接受蓝本对象作为参数 # csrf.exempt(api_v1) # babel是来实现程序的国际化和本地化;完成flask扩展的初始化安装 babel.init_app(app)
def register_extensions(app): babel.init_app(app) db.init_app(app) login_manager.init_app(app) csrf.init_app(app)
def register_extensions(app): db.init_app(app) csrf.init_app(app) csrf.exempt(api_v1) # api_v1蓝图不需要csrf_protect,从csrf中去除 login_manager.init_app(app)
def register_extensions(app): db.init_app(app) csrf.init_app(app) csrf.exempt(api_v1) # 取消 API 蓝图的 CSRF 保护 login_manager.init_app(app) babel.init_app(app)
def register_extensions(app): db.init_app(app) login_manager.init_app(app) csrf.init_app(app) csrf.exempt(api_v1) #取消对api蓝本的CSRF保护 babel.init_app(app)
def register_extensions(app): db.init_app(app) login_manager.init_app(app)
def register_extensions(app): db.init_app(app) # SQLAlchemy login_manager.init_app(app) # flask_login LoginManager 实例 csrf.init_app(app) # flask_wtf.csrf CSRFProtect实例 csrf.exempt(api_v1) # TODO: 为什么要api接口不需要csrf防护