Even though Flask is a fairly simpler framework, there are even more abstractions built to save you time and focus on business logic of your app. Let's look at these in this article.
(a). Flask App Builder
Simple and rapid application development framework, built on top of Flask. includes detailed security, auto CRUD generation for your models, google charts and much more.
Extensive configuration of all functionality, easily integrate with normal Flask/Jinja2 development.
This framework includes the following:
- SQLAlchemy, multiple database support: sqlite, MySQL, ORACLE, MSSQL, DB2 etc.
- Partial support for MongoDB using MongoEngine.
- Multiple database connections support (Vertical partitioning).
- Easy mixin audit to models (created/changed by user, and timestamps).
- Automatic permissions lookup, based on exposed methods. It will grant all permissions to the Admin Role.
- Inserts on the Database all the detailed permissions possible on your application.
- Public (no authentication needed) and Private permissions.
- Role based permissions.
- Authentication support for OAuth, OpenID, Database, LDAP and REMOTE_USER environ var.
- Support for self user registration.
Views and Widgets
- Automatic menu generation.
- Automatic CRUD generation.
- Multiple actions on db records.
- Big variety of filters for your lists.
- Various view widgets: lists, master-detail, list of thumbnails etc
- Select2, Datepicker, DateTimePicker
- Related Select2 fields.
- Google charts with automatic group by or direct values and filters.
- AddOn system, write your own and contribute.
CRUD REST API
- Automatic CRUD RESTful APIs.
- Integration with flask-jwt-extended extension to protect your endpoints.
- Metadata for dynamic rendering.
- Selectable columns and metadata keys.
- Automatic and configurable data validation.
- Automatic, Add, Edit and Show from Database Models
- Labels and descriptions for each field.
- Automatic base validators from model's definition.
- Custom validators, extra fields, custom filters for related dropdown lists.
- Image and File support for upload and database field association. It will handle everything for you.
- Field sets for Form's (Django style).
- Support for multi-language via Babel
Bootstrap 3.1.1 CSS and js, with Select2 and DatePicker
Font-Awesome icons, for menu icons and actions.
Here are some demos:
Login page (with AUTH_DB)
Login page (with AUTH_OAUTH)
List contacts example
List Group example with search
Group by pie chart
Direct time chart
Group by time chart