2017-05-31 118 views
1

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

from flask_perm import Perm 

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

回答

2

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

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

perm = Perm() 

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

无论你需要访问它,你可以使用from myproject import perm