Django里HTML页面共用导航栏和底部申明栏

页面如下,顶部和底部是公用的
在这里插入图片描述

要实现公用,需要用到Django里的block
贴一下这个页面的源代码:


<html >
<head>
    <link href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
    {% block title%}<title>列表页</title>{% endblock %}
</head>
<body>
     <!-- 导航栏 -->
    <nav class="navbar navbar-inverse navbar-fixed-top">
      <div class="container">
        <div class="navbar-header">
          <a class="navbar-brand" href="/event_manage/">CCTESTER MockServer</a>
        </div>
        <div id="navbar" class="collapse navbar-collapse">
          <ul class="nav navbar-nav">
            <li class="active" id="menu_server"><a href="{% url "mock:server" %}">SERVER</a></li>
            <li id="menu_router"><a href="/router_list/">Router</a></li>
             <li id="menu_response"><a href="/response_list/">Response</a></li>
          </ul>
          <ul class="nav navbar-nav navbar-right">
              {%  if request.user.is_authenticated %}
                   <li><a href="#">{{request.user.username }}</a></li>
                  <li><a href="/logout/">退出</a></li>
              {% endif %}

         </ul>
        </div><!--/.nav-collapse -->
      </div>
    </nav>





{% block content %}
    <div class="container theme-showcase" role="main">

      <!--查询-->
      <div class="page-header" style="margin-top: 80px;">
        <div id="navbar" class="navbar-collapse collapse" style="float:left;">
          <form class="navbar-form" method="get" action="/server_list/">
            <div class="form-group">
              <input name="server_name" type="text" placeholder="name" class="form-control" >
            </div>
            <button type="submit" class="btn btn-success" >搜索</button>
          </form>
        </div><!--/.navbar-collapse -->
        <div style="float:right;">
          <button type="submit" class="btn btn-primary" onclick="window.location.href='{% url 'add_server' %}'" style="margin-top: 8px;">添加</button>
        </div>
      </div>

      <!--表单-->
      <div class="row" >
        <div class="col-md-6" style="width: 900px;">
          <table class="table table-striped">
            <thead>
              <tr>
                <th>id</th>
                <th>name</th>
                <th>path</th>

              
              </tr>
            </thead>
            <tbody>
                {% for server in all_server %}
                    <tr>
                      <td>{{ server.id }}</td>
                      <td>{{ server.name }}</td>
                      <td>{{ server.path }}</td>
                      <td><a href="/server_id/2" >编辑</a></td>
                      <td><a href="/del_api/2">删除</a></td>
                </tr>
                {% endfor %}
            </tbody>
          </table>
        </div>

      </div>
</div>



{% endblock %}


    <div class="container theme-showcase" role="main">
      <div class="page-header">
      </div>
      <footer class="footer">
        <p>&copy; Company 2020, Author:鲲鹏 CCTESTER</p>
      </footer>
    </div> <!-- /container -->

    
     <script>
            window.onload = function () {
                 var menu_server = document.getElementById("menu_server")
                 var menu_router = document.getElementById("menu_router")
                 var menu_response = document.getElementById("menu_response")
                menu_server.className='active'
                menu_router.className=''
                menu_response.className=''
            }
    </script>

</body>
</html>

切换页面,需要替换中间的一段内容,所以在这段代码前后加上{% block content %}{% endblock %}
然后再看一下替换这个页面中间一部分内容的代码:
在这里插入图片描述

{% extends "mock/base.html" %}
{% block title%}<title>新增 Server</title>{% endblock %}
{% block content %}
    <!--添加表单-->
      <div class="row" style="margin-top: 80px;">
        <div class="page-header">
            <h3 style="margin-left: 150px;"> 添加API_SERVER </h3>
        </div>
        <div class="col-md-6" style="width: 800px;">
          <form class="form-horizontal" role="form" action="" method="post" style="margin-left: 30px;">
                  <div class="form-group">
                      <label for="firstname" class="col-sm-2 control-label">name:</label>
                      <div class="col-sm-10">
                         <input name="name" type="text" >
                      </div>
                  </div>

                <div class="form-group">
                      <label for="lastname" class="col-sm-2 control-label">path:</label>
                      <div class="col-sm-10">
                         <input name="path" type="text" >
                      </div>
                </div>
            <div class="form-group">
              <div class="col-sm-offset-2 col-sm-10">
                <button type="submit" class="btn btn-default">提交</button>
              </div>
            </div>
          </form>
        </div>
      </div>>
{% endblock %}

效果
在这里插入图片描述

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Django 中实现左侧边二级导航有多种方法,以下是其中一种常见的实现方法: 1. 在左侧边中添加一个可展开的菜单,用于显示二级导航的选项。 2. 在模板文件中定义一个包含左侧边和二级导航HTML 结构,二级导航的选项可以使用 Django 的 URL 模板标签或手动添加链接。 3. 在视图函数中定义一个上下文变量,用于传递给模板文件显示二级导航的选项。 4. 在左侧边菜单中添加一个 JavaScript 代码段,用于在鼠标悬停在菜单项上时显示二级导航的选项。 具体实现步骤如下: 1. 在左侧边中添加一个可展开的菜单,代码如下: ```html <ul class="sidebar-menu"> <li class="treeview"> <a href="#"> <i class="fa fa-dashboard"></i> <span>Dashboard</span> <i class="fa fa-angle-left pull-right"></i> </a> <ul class="treeview-menu"> <li><a href="#">Submenu 1</a></li> <li><a href="#">Submenu 2</a></li> <li><a href="#">Submenu 3</a></li> </ul> </li> <li><a href="#"><i class="fa fa-files-o"></i> <span>Pages</span></a></li> <li><a href="#"><i class="fa fa-th"></i> <span>Widgets</span></a></li> </ul> ``` 2. 在模板文件中定义一个包含左侧边和二级导航HTML 结构,代码如下: ```html {% load static %} <!DOCTYPE html> <html> <head> <title>My Website</title> <link rel="stylesheet" href="{% static 'css/style.css' %}"> </head> <body> <aside class="main-sidebar"> <section class="sidebar"> <ul class="sidebar-menu"> <li class="treeview"> <a href="#"> <i class="fa fa-dashboard"></i> <span>Dashboard</span> <i class="fa fa-angle-left pull-right"></i> </a> <ul class="treeview-menu"> {% for submenu in dashboard_submenus %} <li><a href="{{ submenu.url }}">{{ submenu.name }}</a></li> {% endfor %} </ul> </li> <li><a href="#"><i class="fa fa-files-o"></i> <span>Pages</span></a></li> <li><a href="#"><i class="fa fa-th"></i> <span>Widgets</span></a></li> </ul> </section> </aside> <div class="content-wrapper"> {% block content %} {% endblock %} </div> </body> </html> ``` 3. 在视图函数中定义一个上下文变量,用于传递给模板文件显示二级导航的选项,代码如下: ```python from django.shortcuts import render def dashboard(request): dashboard_submenus = [ {'name': 'Submenu 1', 'url': '/dashboard/submenu-1/'}, {'name': 'Submenu 2', 'url': '/dashboard/submenu-2/'}, {'name': 'Submenu 3', 'url': '/dashboard/submenu-3/'}, ] context = {'dashboard_submenus': dashboard_submenus} return render(request, 'dashboard.html', context) ``` 4. 在左侧边菜单中添加一个 JavaScript 代码段,用于在鼠标悬停在菜单项上时显示二级导航的选项,代码如下: ```javascript var treeviewMenu = $('.sidebar-menu').tree(); treeviewMenu.on('opened.tree', function() { var activeSubMenu = $(this).find('.treeview.active').find('.treeview-menu'); activeSubMenu.slideDown('normal'); }); treeviewMenu.on('closed.tree', function() { var activeSubMenu = $(this).find('.treeview.active').find('.treeview-menu'); activeSubMenu.slideUp('normal'); }); ``` 以上就是实现 Django 左侧边二级导航的一种常见方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LSQ的测试日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值