Book Image

Flask Blueprints

By : Joel Perras
Book Image

Flask Blueprints

By: Joel Perras

Overview of this book

Table of Contents (14 chapters)

Application factories


One of the major benefits of unit and functional testing is the ability to ensure, under a variety of different conditions and configurations, that your application behaves in a known and predictable manner. To this end, it will be a great advantage to have the ability to construct all the Flask application objects in our test suite. We can then easily provide different configurations to each of these objects and ensure that they exhibit the behavior that we expect.

Thankfully, this is entirely achievable using the application factory pattern, which is well supported by Flask. Let's add a create_app method to our application/__init__.py module:

from flask import Flask


def create_app(config=None):
    app = Flask(__name__)

    if config is not None:
        app.config.from_object(config)

    return app

What this method does is relatively simple: given an optional config argument, construct a Flask application object, optionally apply this custom configuration, and...