Application Facets

A Flask-Diamond application consists of many components (called facets) that complement each other to form a coherent application. These facets are common to many applications, but they can be enabled and disabled individually depending on specific requirements. A Flask-Diamond application is customized by changing the way these facets behave.

List of Facets

Here are all of the facets currently shipping with Flask-Diamond:

  1. flask_diamond.facets.configuration. the $SETTINGS environment variable is inspected and the file it points to is loaded.
  2. flask_diamond.facets.logs. based on the configuration, write log messages to a file on the filesystem.
  3. flask_diamond.facets.database. connect to a database and initialize the SQLAlchemy Object Relational Mapper (ORM)
  4. flask_diamond.facets.accounts. manage users, roles, login, passwords, and other security things with Flask-Security.
  5. flask_diamond.facets.blueprints. initialize your application’s views (in the MVC sense), which are saved as “blueprints” in a Flask application.
  6. flask_diamond.facets.signals. Flask provides a signals subsystem that your application can hook into to automate certain behaviors.
  7. flask_diamond.facets.forms. initialize your application’s form helpers, which may be global to the forms used in your application.
  8. flask_diamond.facets.handlers. when something goes wrong, you may want to handle it (e.g. by displaying a 404 page). This is the place to create redirections or other custom request handlers that extend beyond views.
  9. flask_diamond.facets.administration. a quick GUI using Flask-Admin with extensive Model support.
  10. provide a REST API using Flask-RESTful
  11. flask_diamond.facets.webassets. it is possible to bundle assets like images, CSS, and javascript with your application. webassets simplifies some of this work.
  12. send email with Flask-Mail
  13. flask_diamond.facets.debugger. when the configuration specifies that DEBUG = True, the web interface will display a widget with extra debugging tools.
  14. flask_diamond.facets.task_queue. provide a task queue using Celery

Next Steps

Now that you know what facets are, learn how to use them by Writing an Application with Flask-Diamond.

Table Of Contents

Topic Navigation