We are looking to achieve a routing like /dens/<den_id>/posts/<post_id>.
So, we have an application factory where we define...
from . import dens
from . import posts
dens.bp.register_blueprint(posts.bp)
app.register_blueprint(dens.bp)
and in dens.py we have
bp = Blueprint('dens', __name__, url_prefix='/dens')
# Here we manage all of the den related blueprints, etc...
and in posts.py we have a blueprint for managing all the post related content, such as creating, updating or deleting new posts that are associated to a specific den_id.
bp = Blueprint('posts', __name__, url_prefix='/posts')
# For example, deleting a post should be routed by
# /dens/<den_id>/posts/<post_id>/delete
@bp.route('/<int:id>/delete', methods=('POST',))
@login_required
def delete(id):
get_post(id)
db = get_db()
db.execute('DELETE FROM posts WHERE id = ?', (id,))
db.commit()
return redirect(url_for('dens.index'))
However, this does not allow us to route to /dens/<den_id>/posts/..., just to /dens/posts/....