Flask-Admin与Flask-AppBuilder比较

16

我刚接触Flask,发现有两个插件可以实现CRUD视图和授权登录:Flask-AdminFlask-AppBuilder

这两个功能很有吸引力,还有不错的Master-Detail视图,可以在同一个屏幕上查看主表的行和相关细节。

有什么建议呢?我看到Flask-AppBuilder在Github上有更多提交记录,而Flask-Admin则有更多的星星。

如何区分它们,又不用花太多时间做出错误的选择呢?

2个回答

37

我是 Flask-AppBuilder 的开发者,所以可能有些偏见。我将尽力给出最诚实的看法。我不太了解 Flask-Admin,因此可能会犯一些错误。

Flask-Admin 和 Flask-AppBuilder:

  • 都可以为 Flask 提供带有 Bootstrap 的管理界面。
  • 都将尽力让你轻松使用。
  • 都可以帮助您更加面向对象地开发 Flask 应用程序。
  • 都可以让您覆盖几乎所有的管理模板。
  • 都支持 Babel。
  • 两者灵感均来自 Django-Admin。

Flask-AppBuilder 的优点:

  • 外观更加美观(偏见?也许吧…)。
  • 安全性已为您考虑好,并支持开箱即用的数据库、LDAP、OpenID、Web 服务器集成(REMOTE_USER),未来还将支持 OAuth。它将允许您扩展用户模型和安全视图。
  • 细粒度权限,为每个 Web 公开方法和操作创建一个权限(你必须试试它)。
  • 您可以轻松呈现 Google 图表。
  • 项目更小,更容易请求新功能,并获得您的 pull 请求合并。
  • MasterDetail 视图和多视图可以轻松设置。
  • 后端:支持 SQLAlchemy、MongoEngine、GenericInterface(您可以与自己的内置数据集成仍处于 beta 状态)。

Flask-Admin 的优点:

  • 您必须组装自己的安全性(模型、视图、授权等),但它已准备好与 Flask-Security 很好地集成。这可能是一个优点或缺点,具体取决于您想要的内容。
  • 内置文件管理器。
  • 更大的项目和更大的社区。
  • 后端:支持 SQLAlchemy、GeoAlchemy、MongoEngine、Pewee 和 PyMongo。
  • 更好的支持 MongoEngine(EmbeddedDocument、ListFields 等)。

总体而言,我认为Flask-Admin与Flask不同,它不会做出任何假设,您需要编写更多的代码,但这将让您更加自由。Flask-AppBuilder会做出一些假设(关于安全性),您需要编写更少的代码,但如果您构建非常特定的安全模型,有些事情可能会阻碍您。

希望这对您和其他人有所帮助,我尽力避免偏见。


非常感谢您的真诚意见。我看到AppBuilder具有更多开箱即用的功能。也很高兴知道覆盖一些内容与在Flask-Admin上一样容易。我会等待一段时间以获取任何异议,然后做出选择并接受您的答案。 - petroslamb
1
我刚刚偶然发现了Flask-AppBuilder。开箱即用,模板看起来比Flask-Admin好看多了。此外,我很感激安全性问题已得到解决,尤其是因为我发现这是一个麻烦的事情。我们有一个相当大的项目即将启动,我相信Flask-AppBuilder将帮助我们更快地向最终用户交付功能原型,比Flask-Admin要快得多。期待着使用它! - horcle_buzz

1
对我来说,主/细节是主要功能。这促使我使用Flask AppBuilder创建ApiLogicServer
通过一个命令,创建一个数据库API,以解除UI开发的阻塞。此外,还可以创建一个多页面Web应用程序,吸引业务用户-在项目早期参与其中。使用类似电子表格的规则声明逻辑-比代码简洁40倍,并可通过Python进行扩展-实现卓越的业务敏捷性。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接