Easily create navigation for Flask applications.
Project description
Flask-Nav is a Flask-Extension to ease the creation of navigational Elements in Applications. It provides means to Express the Navigational structure and offers method to render these in different ways.
A motivating example:
from flask import Flask, render_template
from flask_nav import Nav
from flask_nav.elements import *
nav = Nav()
# registers the "top" menubar
nav.register_element('top', Navbar(
View('Widgits, Inc.', 'index'),
View('Our Mission', 'about'),
Subgroup(
'Products',
View('Wg240-Series', 'products', product='wg240'),
View('Wg250-Series', 'products', product='wg250'),
Separator(),
Label('Discontinued Products'),
View('Wg10X', 'products', product='wg10x'),
),
Link('Tech Support', href='http://techsupport.invalid/widgits_inc'),
))
app = Flask(__name__)
# [...] (view definitions)
nav.init_app(app)
You can find a small, runnable example application inside the example folder. To run it, install Flask-Appconfig and run:
$ flaskdev example