Django - 使用块重新加载仅主体页面而不刷新整页

时间:2017-06-07 02:47:07

标签: javascript html django block

base.html

<body class="skin-red">
    <!-- Site wrapper -->
    <div class="wrapper">

        <!-- #HEADER -->
        {% include 'HEADER.html' %}
        <!-- /#HEADER -->

        <!-- #SIDEBAR -->
        {% include 'SIDEBAR.html' %}
        <!-- /#SIDEBAR -->

        <!-- #BODY -->
        {% block content %}
        {% endblock %}

        <!-- /#BODY -->

        <!-- #FOOTER -->
        {% include 'FOOTER.html' %}
        <!-- /#FOOTER -->


        {% block extrajavascript %}
        {% endblock %}

  </body>

header.html中

  <header class="main-header">
    <a href="/rm" class="logo"><b>Resource</b> Monitor <i class="fa fa-bar-chart-o" style="color:#ffd400"></i></a>
    <!-- Header Navbar: style can be found in header.less -->
    <nav class="navbar navbar-static-top" role="navigation">
        <a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button">
            <span class="sr-only">Toggle navigation</span>
        </a>

        <ul class="nav navbar-nav">
            <li><a href="/rm">Home <span class="sr-only">(current)</span></a></li>
            <li><a href="/rm/pcinfo"> PC information </a></li>
            <li><a data-toggle="tab" href="#tab_sysuse">??? ???</a></li>
            <li><a data-toggle="tab" href="#tab_procuse">???? ???</a></li>
            <li><a data-toggle="tab" href="#tab_prodet">???? ????</a></li>
            <li><a data-toggle="tab" href="#tab_sdwt">SDWT ????</a></li>
            <li><a data-toggle="tab" href="#tab_pcevents">??? ?? ??</a></li>
            <li><a data-toggle="tab" href="#tab_winevents">??? ?? ID? ??</a></li>
            <li><a data-toggle="tab" href="#tab_agentinfo">Agent ????</a></li>
            <li class="dropdown">
                <a class="dropdown-toggle" data-toggle="dropdown" href="#">Email ?? ?? <span class="caret"></span></a>
                <ul class="dropdown-menu" role="menu">
                    <li><a data-toggle="tab" href="#tab_emailconfigs">??? ??</a></li>
                    <li><a data-toggle="tab" href="#tab_emailreceiver">??? ??</a></li>
                </ul>
            </li>
        </ul>
    </nav>
</header>

当我点击标题标签菜单时,我只想重新加载  {% block content %}  {% endblock %}  不是整页..但现在它重新加载了整个页面.. 我的边栏中有formbox,并且有一些用户输入的值。所以我不想通过刷新整个页面来放弃我的用户输入。有没有解决方案..?

1 个答案:

答案 0 :(得分:2)

如果您需要&#34;无需重新加载&#34;您需要javascript AJAX api来获取内容并使用javascript DOM api更改html内容。功能

  

Django或任何应用程序服务器或http网络服务器在   请求 - 响应方式,当响应返回给浏览器时,   服务器无法控制客户端。