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:
flask_diamond.facets.configuration. the$SETTINGSenvironment variable is inspected and the file it points to is loaded.flask_diamond.facets.logs. based on the configuration, write log messages to a file on the filesystem.flask_diamond.facets.database. connect to a database and initialize the SQLAlchemy Object Relational Mapper (ORM)flask_diamond.facets.accounts. manage users, roles, login, passwords, and other security things with Flask-Security.flask_diamond.facets.blueprints. initialize your application’s views (in the MVC sense), which are saved as “blueprints” in a Flask application.flask_diamond.facets.signals. Flask provides a signals subsystem that your application can hook into to automate certain behaviors.flask_diamond.facets.forms. initialize your application’s form helpers, which may be global to the forms used in your application.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.flask_diamond.facets.administration. a quick GUI using Flask-Admin with extensive Model support.flask_diamond.facets.rest. provide a REST API using Flask-RESTfulflask_diamond.facets.webassets. it is possible to bundle assets like images, CSS, and javascript with your application. webassets simplifies some of this work.flask_diamond.facets.email. send email with Flask-Mailflask_diamond.facets.debugger. when the configuration specifies thatDEBUG = True, the web interface will display a widget with extra debugging tools.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.