使用flask扩展和普通模块的区别是什么?

看书的时候, 书里有发邮件的例子,用到了flask-mail扩展, 我想问使用扩展和不使用扩展的区别是什么? 即发送邮件可以使用flask-mail扩展,也可以使用非flask扩展的邮件模块来发送邮件,这两种方式有什么区别呢?

阅读 3.2k
2 个回答

使用flask扩展代码会比较精简,但同时也隐去了很多细节,只是想实现功能的话用扩展比较方便,但是想深入了解邮件发送以及相关协议的细节的话还是不用扩展比较好。

对于这个问题,有必要出来唠叨两句。

讲道理,没什么太大区别。其实,从 Flask 的源码的角度来说,也确实没什么,可以发现在 Flask 的源码中,关于扩展的代码很少,而再看一下 Flask 各种扩展的源码,可以发现没有太大的改动。

但是,有一个特别的点需要注意的就是,一般Flask 扩展都有 init_app 的步骤,那么,这个函数有什么用?其实,我认为这就是使用 flask 扩展的好处了,就是你可以将扩展的配置放到 Flask 的配置上,例如 Flask-SqlAlchemy,你需要制定 MySQL 的URL,用户名和密码,如果你使用 SQLAlchemy 的话,那么你需要弄一份单独的配置,如果你使用 Flask-SqlAlchemy 的话,你完全可以将配置放入 Flask 的配置中,然后 init_app 一下即可,主要是方便

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题