Flask-Nav 支持¶
Flask-Nav 扩展可以让你很容易的创建导航构件,而且Flask-Bootstrap为此附带了一个与Bootstrap相 兼容的渲染器。一旦你初始化一个程序,Flask-Bootstrap默认会注册这个Bootstrap渲染器。
渲染一个简易的("just works")导航栏,举例来说
{% block navbar %}
{{nav.mynavbar.render()}}
{% endblock %}
这会自动生成与Bootstrap相兼容的HTML代码。 一个生成能工作的导航栏的最小化的例子是这样的:
from flask_nav import Nav
from flask_nav.elements import Navbar, View
nav = Nav()
@nav.navigation()
def mynavbar():
return Navbar(
'mysite',
View('Home', 'index'),
)
# ...
nav.init_app(app)
你可以看看示例程序,它有关于导航的更加详细的例子。
Bootstrap渲染器¶
这个用来渲染Bootstrap式HTML的渲染器(通过 flask_bootstrap.nav.BootstrapRenderer
提供)有一些明确的特性。
换句话说,任何 Navbar
的 title
属性也可以是一个 Link
或 View
。
如果 title
不是 None
,它会被使用 brand
类来渲染。(具体见 Bootstrap docs )
而且如果它有一个 get_url
方法,那么它的返回值将会是 brand
文本的链接。
定制导航栏(navbar)¶
如果想要修改 BootstrapRenderer
的输出,你可以创建子类,然后注册这个子类作为另一个渲染器。
你可以看看 Flask-Nav 的文档,那儿有 关于这个话题的更多信息 。