【问题标题】:Import Flask extension when it is created in an app factory [duplicate]在应用程序工厂中创建时导入 Flask 扩展[重复]
【发布时间】:2017-05-31 03:33:00
【问题描述】:

我想在我的应用程序的不同模块中使用 Flask-Perm 的装饰器。我正在使用应用程序工厂模式。如果我在工厂中创建扩展,我无法将其导入以在其他模块中使用。使用应用工厂时如何导入扩展?

from flask_perm import Perm

def create_app():
    app = Flask(__name__)
    perm = Perm(app)
    return app

【问题讨论】:

    标签: python flask


    【解决方案1】:

    Flask-Perm 的 docs 在顶部显示如何执行此操作。

    在工厂外创建扩展。在工厂内部初始化扩展。每个支持应用工厂的 Flask 扩展都使用这种模式。

    perm = Perm()
    
    def create_app():
        app = Flask(__name__)
        perm.init_app(app)
        return app
    

    现在您可以在任何需要访问的地方使用from myproject import perm

    【讨论】:

      猜你喜欢
      • 2016-11-21
      • 1970-01-01
      • 1970-01-01
      • 2016-07-29
      • 2020-09-26
      • 1970-01-01
      • 2014-06-20
      • 2019-07-05
      • 2011-12-21
      相关资源
      最近更新 更多