動(dòng)態(tài)自適應(yīng)的NavBar - Django

首先在base.html里增加一個(gè)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中返回字典中增加狀態(tài)表征:

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的按鈕是哪個(gè),以及如果需要返回按鈕顯示的話,back_btn=True即可,同時(shí)傳遞back_url給返回按鈕

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容