Flask-Admin vs Flask-AppBuilder
Asked Answered
S

2

17

I am new to Flask and have noticed that there are two plugins that enable CRUD views and authorized login, Flask-Admin and Flask-AppBuilder.

These two features interest me along with nice Master-Detail views for my model, where I can see both the rows of the master table and the relevant details on the same screen.

Any idea which one to prefer? I see that Flask-AppBuilder has far more commits in Github, while Flask-Admin many more stars.

How to tell the difference, without spending too much time with the wrong choice?

Sounder answered 8/5, 2015 at 14:44 Comment(0)
K
38

I am the developer of Flask-AppBuilder, so maybe a strong bias here. I will try to give you my most honest view. I do not know Flask-Admin that much, so i will probably make some mistakes.

Flask-Admin and Flask-AppBuilder:

  • Will both give you an admin interface for Flask with bootstrap.
  • Will both make their best to get out of your way.
  • Will both help you develop Flask more Object Oriented style.
  • Will both let you override almost everything on the admin templates.
  • Will both support Babel.
  • Both inspired on Django-Admin.

Pros for Flask-AppBuilder:

  • Has a nicer look and feel (bias? maybe...).
  • Security has been taken care of for you, and supports out of the box, database, LDAP, OpenID, Web server integrated (REMOTE_USER), and in the near future OAuth too. Will let you extend the user model and security views.
  • Granular permissions, creates one permission for each web exposed method and action (you have to try it).
  • You can easily render Google graphs.
  • Smaller project, it's easier to request new features, and get your pull requests merged.
  • MasterDetail views and multiple views can be setup easily.
  • Backends: supports SQLAlchemy, MongoEngine, GenericInterface (you can integrate with your own builtin data still a bit beta).

Pros for Flask-Admin:

  • You have to assemble your own security (models, views, auth etc), it's ready though to integrate nicely with flask-security. This can be a pro or a con depending on what you want.
  • Builtin File Admin.
  • Bigger project with bigger community.
  • Backends: supports SQLAlchemy, GeoAlchemy, MongoEngine, Pewee and PyMongo.
  • Better support for MongoEngine (EmbeddedDocument, ListFields etc..).

On the overall i think Flask-Admin makes no assumptions at all like Flask, you have to code more, but this will let you be more free. Flask-AppBuilder makes some assumptions (on security), you will have to code much less, but some things can get on your way if your building very specific security models.

Hope this helps you and others, i tried my best to keep the bias out.

Kreiker answered 17/5, 2015 at 22:4 Comment(2)
Thank you for your most honest view. I see that AppBuilder has more out-of-the-box functionality. It's also good to know that overriding stuff is as easy as on Flask-Admin. Will wait for a while for any objections, make my pick and accept your answer.Sounder
I just stumbled on Flask-AppBuilder. Out of the box, the templates look much nicer than in Flask-Admin. Also, I appreciate that the security stuff has been taken care of, especially since as I have found, it is a PITA to get working. We have a fairly large project coming up that I am sure Flask-AppBuilder will help speed up time to delivery of a functional prototype to our end users a lot sooner that Flask-Admin could. Looking forward to it!Trisect
L
2

For me, master/detail is the major feature. That led me to use Flask AppBuilder to create ApiLogicServer:

With 1 command, create a database API, to unblock UI development. Also, a multi-page web app, to engage Business Users - early in the project. Declare logic with spreadsheet-like rules - 40X more concise than code, extensible with Python - for remarkable business agility.

Lenardlenci answered 28/5, 2021 at 15:27 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.