Skip to main content

Auto register all project flask-blueprints.

Project description

Upload Python Package Python application

Flask Blueprint autoinclude

A function to automatically register all flask-blueprints from a project.
register_blueprints from flask_bp_autoregister.blueprints


When using flask blueprints then after defining them you have to register them all this can possible look like this.

# in some config.py or __init__.py
def register_my_blueprints(used_flask_app: any):
    from my_app.views import home_views
    from my_app.views import package_views
    from my_app.views import account_views

    used_flask_app.register_blueprint(home_views.app_bp)
    used_flask_app.register_blueprint(package_views.app_bp)
    used_flask_app.register_blueprint(account_views.app_bp) 

# and then in your run.py or similar

from my_app import flask_app
from my_app import register_my_blueprints

register_my_blueprints(flask_app)

if __name__ == '__main__':
    flask_app.run()

The register_blueprints code can get really long and you always have to remember where your blueprints are.


For this is had created a function register_blueprints which automatically will search for all blueprints in your project and register them.

from my_app import flask_app
from flask_bp_autoregister.blueprints import register_blueprints


register_blueprints(flask_app, 'my_project/src/my_app')


if __name__ == '__main__':
    flask_app.run()

The path attribute is not really needed you can also use it without then all blueprints inside of the project will be registered automatically

from my_app import flask_app
from flask_bp_autoregister.blueprints import register_blueprints


register_blueprints(flask_app)


if __name__ == '__main__':
    flask_app.run()

When you have some commented Blueprints inside of your project, register_blueprints will try to register them too
which will raise an AttributeError you can disable this with silent=True

from my_app import flask_app
from flask_bp_autoregister.blueprints import register_blueprints


register_blueprints(flask_app, silent=True) # will prevent raising AttributeError


if __name__ == '__main__':
    flask_app.run()

Tested for Versions

  • 3.6, 3.7, 3.8

Installing

Versioning

  • For the versions available, see the tags on this repository.

Authors

  • Felix Eisenmenger - Initial work

License

  • This project is licensed under the MIT License - see the LICENSE.md file for details

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for autoinclude-blueprints, version 1.0.1
Filename, size File type Python version Upload date Hashes
Filename, size autoinclude_blueprints-1.0.1-py3-none-any.whl (6.3 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size autoinclude_blueprints-1.0.1.tar.gz (3.7 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page