Skip to main content

Import and register all Flask Blueprints (including nested) from a package directory.

Project description

Flask Blueprint Autoimporter

flask-blueprints will import and register all nested Flask Blueprints under a given package directory.

Synopsis

Register all Flask Blueprints (including nested) from a package directory.

Usage

Create an empty package app.blueprints and register your blueprints:

from flask import Flask
from flask_blueprints import register_blueprints


app = Flask(__name__)
register_blueprints(app, 'app.blueprints')

Blueprints can now be placed under this package, as such:

.
└── app
    ├── blueprints
    │   ├── account
    │   │   ├── account.py
    │   │   ├── contact
    │   │   │   ├── contact.py
    │   │   │   └── __init__.py
    │   │   └── __init__.py
    │   ├── api
    │   │   ├── account
    │   │   │   ├── account.py
    │   │   │   ├── contact
    │   │   │   │   ├── contact.py
    │   │   │   │   └── __init__.py
    │   │   │   └── __init__.py
    │   │   ├── __init__.py
    │   │   └── user
    │   │       ├── __init__.py
    │   │       └── tribute.py
    │   ├── __init__.py
    │   └── project
    │       ├── documents.py
    │       ├── __init__.py
    │       ├── project.py
    │       └── search.py
    └── __init__.py

Blueprint __init__.py files should look something like the following:

from flask import Blueprint


bp = Blueprint('project', __name__)
from . import documents
from . import project
from . import search

(Note that the top-level app/blueprints/__init__.py is not a blueprint package, and therefore should not have a blueprint defined.)

The blueprint files themselves can then define the routes. For example:

from flask import redirect, url_for
from . import bp

@bp.post('/project/<int:project_id>/store')
def store(project_id):
	# ...
	return redirect(url_for('project.show', project_id=project_id))

If the blueprint variable is not bp, then this can be customised:

register_blueprints(app, 'app.blueprints', bp='bp')

Further Reading

Project details


Download files

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

Source Distribution

flask-blueprints-0.0.6.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

flask_blueprints-0.0.6-py3-none-any.whl (3.6 kB view details)

Uploaded Python 3

File details

Details for the file flask-blueprints-0.0.6.tar.gz.

File metadata

  • Download URL: flask-blueprints-0.0.6.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for flask-blueprints-0.0.6.tar.gz
Algorithm Hash digest
SHA256 db3b5b85c64bd34e28b0eb9acca9701d8c19b741d02d9eb92340bfdf34a51b89
MD5 3783beff27a63ac2c99f9f1fab620d7d
BLAKE2b-256 8fd65486370b10c93a2dec359e1550c5ad176dbf8b1d48514204bf4a9e2a8fe1

See more details on using hashes here.

File details

Details for the file flask_blueprints-0.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for flask_blueprints-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 6b9b4e8e3c173dcf807245284442838fc6e8c113c85adaab9457af9750dfda2a
MD5 32a5615d4c07ca8bb477b71c6496efd5
BLAKE2b-256 1fab443f65632b49107c753d846e9dcd141f63e5a98f1b624bec619e4eaf06ee

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page