我是 Flask 的新手,注意到有两个插件可以启用 CRUD View 和授权登录,Flask-Admin 和 Flask-AppBuilder。
这两个功能以及我的模型的漂亮Master-Detail View 让我很感兴趣,我可以在同一屏幕上看到主表的行和相关详细信息。
知道更喜欢哪一个吗?我看到 Flask-AppBuilder 在 Github 中有更多的提交,而 Flask-Admin 有更多的 stars。
如何在不花太多时间做出错误选择的情况下区分两者?
最佳答案
我是 Flask-AppBuilder 的开发者,所以这里可能有强烈的偏见。我会尽量给你我最诚实的看法。我不太了解 Flask-Admin,所以我可能会犯一些错误。
Flask-Admin 和 Flask-AppBuilder:
- 都会为您提供带 Bootstrap 的 Flask 管理界面。
- 都会尽力让开。
- 都将帮助您开发更加面向对象风格的 Flask。
- 都会让您覆盖管理模板上的几乎所有内容。
- 都会支持 Babel。
- 两者都受到 Django-Admin 的启发。
Flask-AppBuilder 的优点:
- 具有更好的外观和感觉(偏见?也许...)。
- 安全性已为您妥善处理,支持开箱即用、数据库、LDAP、OpenID、Web 服务器集成 (REMOTE_USER),并在不久的将来支持 OAuth。将使您扩展用户模型和安全 View 。
- 精细权限,为每个网络公开的方法和操作创建一个权限(您必须尝试)。
- 您可以轻松呈现 Google 图表。
- 项目越小,请求新功能和合并拉取请求就越容易。
- 可以轻松设置 MasterDetail View 和多个 View 。
- 后端:支持 SQLAlchemy、MongoEngine、GenericInterface(您可以与自己的内置数据集成,但仍处于测试阶段)。
Flask-Admin 的优点:
- 您必须组装自己的安全性(模型、 View 、身份验证等),它已经准备好与 flask-security 很好地集成。这可能是有利的,也可能是不利的,具体取决于您想要什么。
- 内置文件管理器。
- 更大的项目和更大的社区。li>
- 后端:支持 SQLAlchemy、GeoAlchemy、MongoEngine、Pewee 和 PyMongo。
- 更好地支持 MongoEngine(EmbeddedDocument、ListFields 等)。
总的来说,我认为 Flask-Admin 不像 Flask 那样做任何假设,你必须编写更多代码,但这会让你更自由。 Flask-AppBuilder 做了一些假设(关于安全性),您将不得不编写更少的代码,但如果您构建非常具体的安全模型,有些事情可能会发生。
希望这对你和其他人有帮助,我尽力避免偏见。
关于python - Flask-Admin 与 Flask-AppBuilder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30126607/