1
我试图配置Flask-Security以异步方式发送邮件。使用Flask-Security发送异步邮件
我有一些通过Flask-Mail发送异步邮件的代码,但是我很难将它与我的应用程序工厂函数集成在一起,以便它与Flask-Security一起使用。
应用工厂:
mail = Mail()
db = SQLAlchemy()
security = Security()
from app.models import User, Role
user_datastore = SQLAlchemyUserDatastore(db, User, Role)
def create_app(config_name):
# Config
app = Flask(__name__)
app.config.from_object(config[config_name])
config[config_name].init_app(app)
# Initialize extensions
mail.init_app(app)
db.init_app(app)
security.init_app(app, user_datastore)
return app
在烧瓶中,安全文档,它说用@security.send_mail_task
覆盖扩展发送电子邮件的方式。
那么我究竟在哪里实现这个装饰器?看起来像我把它放在应用程序工厂里的任何地方,我会得到循环进口。
这些都是异步电子邮件功能,我尝试使用,从this issue采取:
@async
def send_security_email(msg):
with app.app_context():
mail.send(msg)
@security.send_mail_task
def async_security_email(msg):
send_security_email(msg)
哪里需要该码被整理与应用工厂上班?
在此先感谢。