你说什么都对

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

动态自适应的NavBar - Django

2022年11月3日 199点热度 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中获取值
自己的Blog Eclipse配置PHP开发环境+XDebug调试环境 PHP将获取的时间显示为你想要的方式 Python 使用Tesseract识别图片中的字符 jQueryMobile下上传文件失败的解决办法 PHP实现图片上传并生成缩略图

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

Theme Kratos Made By Seaton Jiang

浙公网安备 33022602000616号