Importar la extensión del matraz cuando se crea en una fábrica de aplicaciones

Quiero usar los decoradores de Flask-Perm en diferentes módulos de mi aplicación. Estoy usando el patrón de fábrica de aplicaciones. Si creo la extensión en la fábrica, no puedo importarla para usarla en los otros módulos. ¿Cómo puedo importar una extensión cuando uso una fábrica de aplicaciones?

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

Los documentos de Flask-Perm muestran cómo hacerlo en la parte superior.

Crea la extensión fuera de la fábrica. Iniciar la extensión dentro de la fábrica. Cada extensión de Flask que admite fábricas de aplicaciones utiliza este patrón.

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

Ahora puede usar from myproject import perm donde quiera que necesite acceder a él.