加载静态文件,父模板的继承和扩展

Posted 105杨捷丽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了加载静态文件,父模板的继承和扩展相关的知识,希望对你有一定的参考价值。

  1. 用url_for加载静态文件
    1. <script src="{{ url_for(‘static‘,filename=‘js/login.js‘) }}"></script>
    2. flask 从static文件夹开始寻找
    3. 可用于加载css, js, image文件
  2. 继承和扩展
    1. 把一些公共的代码放在父模板中,避免每个模板写同样的内容。base.html
    2. 子模板继承父模板
      1.   {% extends ‘base.html’ %}
    3. 父模板提前定义好子模板可以实现一些自己需求的位置及名称。block
      1. <title>{% block title %}{% endblock %}-MIS问答平台</title>
      2. {% block head %}{% endblock %}
      3. {% block main %}{% endblock %}
    4. 子模板中写代码实现自己的需求。block
      1.   {% block title %}登录{% endblock %}
  3. 首页、登录页、注册页都按上述步骤改写。
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>{% block title %}{% endblock %}首页</title>
        <!-- 新 Bootstrap 核心 CSS 文件 -->
        <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
        <script src="https://cdn.bootcss.com/jquery/2.1.1/jquery.min.js"></script>
        <!-- 最新的 Bootstrap 核心 javascript 文件 -->
        <script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
        <script src="{{ url_for(‘static‘,filename=‘js/switch.js‘) }}"></script>
        <link rel="stylesheet"  type="text/css" href="{{ url_for(‘static‘,filename=‘css/base.css‘) }}">
    
    {% block head %}{% endblock %}
    </head>
    <body id="myBody">
    <nav class="navbar">
        <img src="{{ url_for(‘static‘,filename=‘images/8-1306061335461b.jpg‘) }}" alt="" width="50px">
        <a href="{{ url_for(‘index‘) }}">首页</a>
        <input type="text" name="title" required lay-verify="required" placeholder="请输入搜索内容" autocomplete="off"
               class="layui-input">
        <button class="seek" style="padding-left: 10px;" type="submit">搜索</button>
    
    
        <a  class="login" href="{{ url_for(‘login‘) }}">登录</a>
        <a class="enroll" href="{{ url_for(‘enroll‘) }}">注册</a>
    
    
        <select class="navigate">
            <option>学校概况</option>
            <option>专业部门</option>
            <option>校园管理</option>
            <option>招生信息</option>
            <option>国际教育</option>
        </select>
        <img id="myOnOff" onclick="mySwitch()" src="http://www.runoob.com/images/pic_bulbon.gif" width="25px">
    </nav>
    
    
    {% block main %}{% endblock %}
    
    </body>
    
    <footer>
        <div class="footer_box">
            [email protected]
        </div>
    </footer>
    </html>
    {% extendsbase.html %}
    {% block title %}注册{% endblock %}
    {% block head %}
        <link rel="stylesheet" type="text/css" href="{{ url_for(‘static‘,filename=‘css/enroll.css‘) }}">
        <script src="{{ url_for(‘static‘,filename=‘js/enroll.js‘) }}"></script>
    {% endblock %}
    
    
    {% block main %}
    <div class="box">
        <h2>注册</h2>
        <div class="input_box">
            名称:<input  id="zname" type="text"placeholder="设置您的用户名">
        </div>
        <div class="input_box">
            密码:<input  id="zpass1" type="text"placeholder="设置您的密码">
        </div>
        <div class="input-box">
            重输该密码:<input id="zpass2" type="text" placeholder="重新输入一样的密码">
        </div>
    
        <div class="input_box">
            <a href="{{ url_for(‘login‘) }}">已有账号,登录</a>
        </div>
    
        <div id="error_box"><br></div>
        <div class="input_box">
            <button class="button" onclick="fnEnroll()">立即注册</button>
        </div>
    </div>
    {% endblock %}
    {% extendsbase.html %}
    {% block title %}登录{% endblock %}
    {% block head %}
        <link rel="stylesheet" type="text/css" href="{{ url_for(‘static‘,filename=‘css/login.css‘) }}">
        <script src="{{ url_for(‘static‘,filename=‘/js/login.js‘)}}"></script>
    {% endblock %}
    
    {% block main %}
    
    <div class="box">
        <h2>登录</h2>
    
        <div class="input_box">
            <input id="uname" type="text"placeholder="请输入用户名">
        </div>
    
        <div class="input_box">
            <input  id="upass" type="text"placeholder="请输入密码">
        </div>
    
        <div class="input_box">
            <a href="{{ url_for(‘enroll‘) }}">没有账号?立即注册</a>
        </div>
    
        <div id="error_box"><br></div>
        <div class="input_box">
    
            <button class="button" onclick="fnLogin()">登录</button>
        </div>
    </div>
    {% endblock %}

     

以上是关于加载静态文件,父模板的继承和扩展的主要内容,如果未能解决你的问题,请参考以下文章

加载静态文件,父模板的继承和扩展

加载静态文件,父模板的继承和扩展

加载静态文件,父模板的继承和扩展

加载静态文件,父模板的继承和扩展

加载静态文件,父模板的继承和扩展

加载静态文件,父模板的继承和扩展