Categories: Flask 中文教程

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

这个人很懒,什么都没有留下~

Share
Published by
admin

Recent Posts

聊聊vue3中的defineProps

在Vue 3中,defineP…

1 周 ago

在 Chrome 中删除、允许和管理 Cookie

您可以选择删除现有 Cooki…

2 周 ago

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

3 周 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

4 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

1 月 ago

Vue3:手动清理keep-alive组件缓存的方法

Vue3中手动清理keep-a…

1 月 ago