📜  Flask 中的导航栏

📅  最后修改于: 2022-05-13 01:55:08.952000             🧑  作者: Mango

Flask 中的导航栏

跨 HTML 页面导航是一种非常常见的跨页面工作方式。客户端导航方法通常用于 HTML。但是,就自定义而言,拥有自定义服务器端导航可以提供更大的灵活性。本文将带您了解一种在 Flask 中使用导航栏集成服务器端导航的方法。

烧瓶导航

该模块用于在 Flask 应用程序中构建导航栏。

  • 允许服务器端从一个页面导航到另一个页面。
  • 帮助从Python定义 HTML 类和导航项。

安装

要安装此模块,请在终端中键入以下命令。

pip install Flask-Navigation

使用的功能

安装后,下一步是使用 Navigation() 初始化应用上下文,并定义基本 HTML 以进行导航。导航栏也需要在代码中使用 Bar() 进行定义,其中的位置和项目列表是导航栏的参数。输入每个 Item 及其标签、URL 和 URL 中传递的参数。



第 1 步:导入库、添加应用上下文和初始化导航类对象。

Python3
from flask import Flask, render_template
from flask_navigation import Navigation
  
app = Flask(__name__)
nav = Navigation(app)


Python3
# initializing Navigations
nav.Bar('top', [
    nav.Item('Home', 'index'),
    nav.Item('Gfg', 'gfg', {'page': 5}),
])


Python3
@app.route('/')
def index():
    return render_template('index.html')
  
  
@app.route('/navpage')
def navpage():
    return render_template('navpage.html')
  
  
@app.route('/gfg/')
def gfg(page):
    return render_template('gfg.html', page=page)
  
  
if __name__ == '__main__':
    app.run()


HTML



    
    Title


        {% for item in nav.top %}     
  •         {{ item.label }}     
  •     {% endfor %}


HTML



    
    Title


Index page



HTML



    
    Title


GFG Page 5



步骤 2:添加导航定义

蟒蛇3

# initializing Navigations
nav.Bar('top', [
    nav.Item('Home', 'index'),
    nav.Item('Gfg', 'gfg', {'page': 5}),
])

第 3 步:添加 Flask Routes 并运行应用程序。

蟒蛇3

@app.route('/')
def index():
    return render_template('index.html')
  
  
@app.route('/navpage')
def navpage():
    return render_template('navpage.html')
  
  
@app.route('/gfg/')
def gfg(page):
    return render_template('gfg.html', page=page)
  
  
if __name__ == '__main__':
    app.run()

模板:

导航页.html

在此,for 循环用于迭代渲染顶部栏下定义的所有项目,以及它们的 url 和标签。



HTML




    
    Title


        {% for item in nav.top %}     
  •         {{ item.label }}     
  •     {% endfor %}

索引.html

HTML




    
    Title


Index page


gfg.html

HTML




    
    Title


GFG Page 5


打开 navpage.html 时,单击每个项目,页面将导航到为导航配置的所需 URL。

输出:

解释:

在 navpage.html 中,navbar 的每一项都被迭代和渲染。 Onclick,类被激活,锚标签进入定义的路径,链接页面。