码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-11-08 11:59:45      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:避免   nlog   des   ase   mis   hang   ref   out   code   

  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. 首页、登录页、注册页都按上述步骤改写。
    from flask import Flask,render_template
    app = Flask(__name__)
    
    
    @app.route(/)
    def index():
        return render_template(base.html)
    
    @app.route(/login/)
    def login():
        return render_template(login.html)
    @app.route(/register/)
    def register():
        return render_template(register.html)
    
    if __name__ == __main__:
        app.run(debug=True)

    base.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <!--<title>父模板</title>-->
        <title>{% block title%}
        {% endblock %} wk </title>
        <!--<script src="../static/js/base.js" type="text/javascript"></script>-->
    
        <script src="{{ url_for(‘static‘,filename=‘js/base.js‘) }}" type="text/javascript"></script>
        <link rel="stylesheet" href="../static/css/base.css">
        {% block head %}
        {% endblock %}
    
    
    
    
    </head>
    <body id="myBody">
    <nav id="nav"  >
        <!--<img id="on_off" onclick="mySwitch()" src="http://www.runoob.com/images/pic_bulbon.gif" > -->
    
        <img id="on_off" onclick="mySwitch()" src="{{ url_for(‘static‘,filename=‘image/switchon.gif‘) }}" >
    
    
        <a id="href" href="">学生</a>
        <a id="href" href="">教师</a>
        <a id="href" href="">校友</a>
        <input id="search" type="text" name="search">
        <input id="button1" type="button" name="sousuo" value="搜索">
        <!--<input  onclick="window.location.replace(‘login.html‘)"  id="button" type="button" name="login" value="登录">
        <input   onclick="window.location.replace(‘register.html‘)" id="button" type="button" name="login" value="注册"><br>-->
        <a id="href" href="{{ url_for(‘login‘) }}">login</a>
        <a id="href" href="{{ url_for(‘register‘) }}">register</a>
    
    </nav>
    
    
    <div class="daohang">
        <div class="map">
            用户导航
            <hr>
        </div>
        <div class="img">
            <a href="http://www.gzcc.cn/">
                <!--<img src="http://www.gzcc.cn/2016/images/yhdh/01.jpg">-->
                <img src="{{ url_for(‘static‘,filename=‘image/01.jpg‘) }}">
            </a>
            <div class="desc"><a href="http://www.gzcc.cn/html/xueyuanrongyu/">学校荣誉</a> </div>
        </div>
        <div class="img">
            <a href="http://www.gzcc.cn/">
                <img src="{{ url_for(‘static‘,filename=‘image/02.jpg‘) }}">
            </a>
            <div class="desc"><a href="http://www.gzcc.cn/html/banxuechengguo/">师生获奖</a> </div>
        </div>
        <div class="img">
            <a href="http://www.gzcc.cn/">
                <img src="{{ url_for(‘static‘,filename=‘image/03.jpg‘) }}">
            </a>
            <div class="desc"><a href="http://www.gzcc.cn/html/xygk/ldgh/">领导关怀</a> </div>
        </div>
        <div class="img">
            <a href="http://www.gzcc.cn/">
                <img src="{{ url_for(‘static‘,filename=‘image/08.jpg‘) }}">
            </a>
            <div class="desc"><a href="http://i.gzcc.cn" target="_blank">数字广商</a> </div>
        </div>
        <div class="img">
            <a href="http://www.gzcc.cn/">
                <img src="{{ url_for(‘static‘,filename=‘image/05.jpg‘) }}">
            </a>
            <div class="desc"><a href="http://www.gzcc.cn/html/xygk/xiaoyuanfengguang/">画说校园</a> </div>
        </div>
        <div class="img">
            <a href="http://www.gzcc.cn/">
                <img src="{{ url_for(‘static‘,filename=‘image/06.jpg‘) }}">
            </a>
            <div class="desc"><a href="http://www.gzcc.cn/html/shipinxiaoyuan/">视频校园</a> </div>
        </div>
        <div class="img">
            <a href="http://www.gzcc.cn/">
                <img src="{{ url_for(‘static‘,filename=‘image/07.jpg‘) }}">
            </a>
            <div class="desc"><a href="http://www.gzcc.cn/quanjingxiaoyuan/tour.html">全景校园</a> </div>
        </div>
        <div class="img">
            <a href="http://www.gzcc.cn/">
                <img src="{{ url_for(‘static‘,filename=‘image/04.jpg‘) }}">
            </a>
            <div class="desc"><a href="http://www.gzcc.cn/html/xiaoyoufengcai/">校友风采</a></div>
        </div>
    
    </div>
    {% block main %}
    {% endblock %}
    <div class="footer" >
        版权所有:wk
    </div>
    </body>
    </html>

    login.html

    {% extends ‘base.html‘ %}
        {% block title %}
            登录
        {% endblock %}
    {% block head %}
        <!--<title>login</title>-->
        <!--<link href="../static/css/login.css" rel="stylesheet" type="text/css">
        <script src="../static/js/login.js"></script>-->
         <link rel="stylesheet" type="text/css" href="{{ url_for(‘static‘,filename=‘css/login.css‘)}}">
        <script src="{{ url_for(‘static‘,filename=‘js/login.js‘) }}" type="text/javascript"></script>
    
    
    {%  endblock %}
    
    {% block main %}
          <div class="box">
              <h2>登录</h2>
              <div class="input_box">
                  username:<input id="uname" type="text" placeholder="请输入用户名">
              </div>
              <div class="input_box">
                  password:<input id="upass" type="password" placeholder="请输入密码">
              </div>
              <div id="error_box" ><br></div>
              <div class="input_box">
                  <button id="button" onclick="fnLogin()">登录</button>&nbsp&nbsp&nbsp&nbsp&nbsp
                  <button id="button" onclick="window.location.replace({{ url_for("register") }})">注册</button>
              </div>
    
          </div>
    {% endblock %}

    register.html

    {% extends ‘base.html‘ %}
        {% block title %}
            注册
        {% endblock %}
    {% block head %}
        <!--<title>register</title>-->
        <!--<script src="../static/js/register.js"></script>
        <link href="../static/css/login.css" rel="stylesheet" type="text/css">-->
        <script src="{{ url_for(‘static‘,filename=‘js/register.js‘) }}" type="text/javascript"></script>
        <link rel="stylesheet" type="text/css" href="{{ url_for(‘static‘,filename=‘css/login.css‘)}}">
    {%  endblock %}
    
    {% block main %}
    
          <div class= "box">
               <h2>注册</h2>
              <div class="input_box">
                  username:&nbsp&nbsp&nbsp<input id="uname" type="text" placeholder="请输入用户名">
              </div>
              <div class="input_box">
                  tel:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<input id="number" type="text" placeholder="请输入常用手机号">
              </div>
              <div class="input_box">
                  password:&nbsp&nbsp&nbsp<input id="upass" type="password" placeholder="请输入密码">
              </div>
              <div class="input_box">
                  chpassword:<input id="chpass" type="password" placeholder="请再次输入密码">
              </div>
              <div id="error_box" ><br></div>
    
              <div class="input_box">
                  <button  id="button" onclick="fnRegister()">注册</button>&nbsp&nbsp&nbsp&nbsp&nbsp
                  <button  id="button"onclick="window.location.replace({{ url_for("login") }})">转到登录</button>
    
              </div>
    
          </div>
    
    {% endblock %}

    技术分享技术分享技术分享

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

标签:避免   nlog   des   ase   mis   hang   ref   out   code   

原文地址:http://www.cnblogs.com/wk15/p/7803047.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!