Flask 已审核的扩展

Flask 也有已审核的扩展的概念。已审核的扩展被作为 Flask 自身的一部分来测
试来保证在新版本中不会破坏。这些已审核的扩展会在
Flask Extension Registry 中列出,并有相应的标记。如果你想要自己的扩展
通过审核,你需要遵守下面的指导方针:

  1. 一个通过审核的 Flask 扩展需要一个维护者。如果一个扩展作者想要超越项目,
    项目应该寻找一个新的维护者,包括完整的源码托管过渡和 PyPI 访问。如果没
    有可用的维护者,请给 Flask 核心团队访问权限。
  2. 一个通过审核的 Flask 扩展必须确切地提供一个名为 flask_extensioname
    包或模块。它们也可能驻留在 flaskext 命名空间包内部,虽然现在这不被推荐。
  3. 它必须伴随一个可以使用 make testpython setup.py test 的调用测
    试套件。对于用 make test 测试的套件,扩展必须确保所有测试需要的依赖关
    系都被自动处理好。如果测试由 python setup.py test 调用,测试的依赖关系
    setup.py 文件指定。测试套件也必须是发行版的一部分。
  4. 通过审核的扩展的 API 可以通过下面特性的检查:
    – 一个通过审核的扩展必须支持在同一个 Python 进程中支持多个应用
    – 必须支持使用工厂模式创建应用
  5. 必须以 BSD/MIT/WTFPL 许可
  6. 官方扩展的命名模式是 Flask-ExtensionNameExtensionName-Flask
  7. 通过审核的扩展必须在 setup.py 文件里定义好它们的依赖关系,除非因
    其在 PyPI 上不可用而不能满足这个依赖。
  8. 扩展的文档必须使用两种 Flask 的 Sphinx 文档主题中的一个
  9. setup.py 描述(因此PyPI 描述同)必须链接到文档、网站(如果有),
    并且必须有一个链接来自动安装开发版本( PackageName==dev
  10. 安装脚本中的 zip_safe 标志必须被设置为 False ,即使扩展对于
    压缩是安全的
  11. 现行扩展必须支持 Python 2.6 以及 2.7

扩展导入的过渡

一段时间,我们推荐对 Flask 扩展使用命名空间包。这在实践中被证明是有问题
的,因为许多不同命名空间包系统存在竞争,并且 pip 会自动在不同的系统中切
换,这给用户导致了许多问题。

现在,我们推荐命名包为 flask_foo 替代过时的 flaskext.foo 。Flask
0.8 引入了重定向导入系统,允许从 flask.ext.foo 导入,并且如果
flaskext.foo 失败时,会首先尝试 flask_foo

Flask 扩展应该力劝用户从 flask.ext.foo 导入,而不是 flask_foo
flaskext_foo ,这样扩展可以迁移到新的包名称而不烦扰用户。

作者:admin,如若转载,请注明出处:https://www.web176.com/flask2/21602.html

(0)
打赏 支付宝 支付宝 微信 微信
adminadmin
上一篇 2023年5月18日
下一篇 2023年5月18日

相关推荐

发表回复

登录后才能评论