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.