Auto register all project flask-blueprints.
Project description
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
- pip install git+https://github.com/FelixTheC/autoinclude_flask_blueprints.git
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for autoinclude_blueprints-1.0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c8475478aee32d1ed25984fe0a25a7a6643a65d996f8c610bd1d891ca32a3d8 |
|
MD5 | e9c56992988f1323afd89c985cedcbaa |
|
BLAKE2b-256 | 924b53ce84dddb9c93756d123297dcd0682571fbf7ede0ef47494e9a361a497d |
Hashes for autoinclude_blueprints-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fdf3329f52f22ca44cb89ef0197669fc6d61f52fec017ecd422e774eb5f4250 |
|
MD5 | 42e65c61935e712b62a20c81eab3918e |
|
BLAKE2b-256 | 5d2400a141b001f8a8aef91fdea8e45026fc2e981e8bfc4f8e3dd3f2d602d038 |