Flask-Diced is a set of helper classes for Flask that generates CRUD views and registers them to blueprint/application.
Flask-Diced provides:
- Detail view
- Index view
- Create view
- Edit view
- Delete view
Flask-Diced is opinionated, it assumes:
- the model object has a
save
method for data persistence anddelete
method to remove itself. - the model can be created with no required arguments.
- the form used for creation and editing are in the style of Flask-WTF's,
specifically, Flask-Diced expects the form accepts a named parameter
obj
to pass in the initial value for editing as well asvalidate_on_submit
method andpopulate_obj
method on the form class. In short, just use Flask-WTF. - the client should be redirected when done for POST requests.
- views should have minimal business logic.
Flask-Diced is designed in a way that customizations can be easily done. All properties and methods can be overridden for customization.
Flask-Diced can be customized to the point that the assumptions described in last section are refer to the default implementation and will no longer hold true if you customize relevant parts of it.
e.g.,
Want to change how the objects list is fetched?
Override query_all
Want to change the name of endpoint of the edit view?
Redefine edit_endpoint
Want to use your own view function or control how views are registered?
Override respective view/register methods.
Flask-Diced is on PyPI.
pip install Flask-Diced
BSD New, see LICENSE for details.