你说什么都对

  • 首页
  • 技术
  • 工具分享
  1. 首页
  2. 技术
  3. Python
  4. Django
  5. 正文

动态自适应的NavBar - Django

2022年11月3日 156点热度 0人点赞 0条评论

首先在base.html里增加一个NavBar代码:

{% block nav %}
    <nav class="navbar navbar-expand-lg navbar-light bg-light">
      <a class="navbar-brand" href="#">Test</a>
      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>

      <div class="collapse navbar-collapse" id="navbarSupportedContent">
        <ul class="navbar-nav mr-auto">
          <li {%if active_btn == 'db_btn' %} class="nav-item active" {% else %} class="nav-item" {%endif%}>
            <a class="nav-link" href="/">DB</a>
          </li>
          <li {%if active_btn == 'equip_btn' %} class="nav-item active" {% else %} class="nav-item" {%endif%}>
            <a class="nav-link" href="/equip/EquipStatus/">Equip</a>
          </li>
          <li {%if active_btn == 'plt_btn' %} class="nav-item dropdown active" {% else %} class="nav-item dropdown" {%endif%}>
            <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
              Platform
            </a>
            <div class="dropdown-menu" aria-labelledby="navbarDropdown">
              <a class="dropdown-item" href="#">test1</a>
              <a class="dropdown-item" href="#">test2</a>
            </div>
          </li>
        </ul>
        {% if back_btn %}
        <a class="btn btn-outline-success my-2 my-sm-0" href={{back_url}}>返回</a>
        {% endif %}
        {% comment %} <form class="form-inline my-2 my-lg-0">
        <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
        <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
        </form> {% endcomment %}
      </div>
    </nav>
{% endblock%}

在views.py中返回字典中增加状态表征:

def testNavBar(request):
    if request.method == 'GET':
        res = {
            'active_btn': 'equip_btn',
            'back_btn': True,
            'back_url': '/equip/EquipStatus/',
        }
        return render(request, 'base.html', res)

这样就可以为页面的NavBar聚焦Active的按钮是哪个,以及如果需要返回按钮显示的话,back_btn=True即可,同时传递back_url给返回按钮

标签: Python
最后更新:2022年11月3日

老虎猪

健康、快乐、品质生活

打赏 点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

最近评论
最新 热点 随机
最新 热点 随机
Jenkins部署 在OneNote里使用markdown语法-OneMark 群晖使用花生壳搭建WordPress bootstrap table 图标显示解决 bootstrap div 居中显示 Django根据字段自动从dict中获取值
python版OpenCV常用api调用 Jenkins部署 动态自适应的NavBar - Django Pycharm中配置QT Designer 在OneNote里使用markdown语法-OneMark Win10配置PHP开发环境

COPYRIGHT © 2022 你说什么都对. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

浙公网安备 33022602000616号