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


    用url_for加载静态文件

    <script src="{{ url_for('static',filename='js/login.js') }}"></script>

    flask 从static文件夹开始寻找

    可用于加载css, js, image文件

      <link rel="stylesheet" type="text/css" href="{{url_for('static',filename='css/headerFormat.css')}}">
        <link rel="stylesheet" type="text/css" href="{{url_for('static',filename='css/bottomNavigateFormat.css')}}">
        <link rel="stylesheet" type="text/css" href="{{url_for('static',filename='css/footerFormat.css')}}">
    

      

    2.继承和扩展

    a.把一些公共的代码放在父模板中,避免每个模板写同样的内容。base.html

    b.子模板继承父模板

      {% extends 'base.html’ %}

    c.父模板提前定义好子模板可以实现一些自己需求的位置及名称。block

        1. <title>{% block title %}{% endblock %}-MIS问答平台</title>
        2. {% block head %}{% endblock %}
        3. {% block main %}{% endblock %}

    d.子模板中写代码实现自己的需求。block

      {% block title %}登录{% endblock %}

    3.首页、登录页、注册页都按上述步骤改写。

    <div id="navigation">
                <header>
    				<nav>
    					<a href="">音乐</a>
    					<a href="">电影</a>
    					<a href="">电视剧</a>
                        <a href="">同城</a>
                        <a href="">读书</a>
                        <a href="">文艺</a>
    
                        <a href="{{ url_for('register')}}" class="right" >注册</a>
                        <a href="{{ url_for('login')}}" class="right" >登录</a>
                        <a href="{{ url_for ('base')}}" class="right">加入我们</a>
    				</nav>
                </header>
    
    <div id="bottomNavigate" style="text-align:center;clear:both">
                        <div class="img">
                              <a href="https://baike.baidu.com/item/%E5%BC%A0%E5%9B%BD%E8%8D%A3/6804">
                             <img src="{{url_for('static',filename='image/DJ.jpg')}}"></a>
                            <p>
                                <a href="https://baike.baidu.com/item/%E5%BC%A0%E5%9B%BD%E8%8D%A3/6804">演唱会</a>
                            </p>
                        </div>
    
                         <div class="img">
                              <a href="https://baike.baidu.com/item/%E5%BC%A0%E5%9B%BD%E8%8D%A3/6804">
                             <img src="{{url_for('static',filename='image/harryPotter.jpg')}}"></a>
                            <p>
                                <a href="https://baike.baidu.com/item/%E5%BC%A0%E5%9B%BD%E8%8D%A3/6804">奇幻</a>
                            </p>
                        </div>
    
                        <div class="img">
                              <a href="https://baike.baidu.com/item/%E5%BC%A0%E5%9B%BD%E8%8D%A3/6804">
                             <img src="{{url_for('static',filename='image/allied.jpg')}}"></a>
                            <p>
                                <a href="https://baike.baidu.com/item/%E5%BC%A0%E5%9B%BD%E8%8D%A3/6804">战争</a>
                            </p>
                        </div>
    
                        <div class="img">
                              <a href="https://baike.baidu.com/item/%E5%BC%A0%E5%9B%BD%E8%8D%A3/6804">
                             <img src="{{url_for('static',filename='image/baster.jpg')}}"></a>
                            <p>
                                <a href="https://baike.baidu.com/item/%E5%BC%A0%E5%9B%BD%E8%8D%A3/6804">文艺</a>
                            </p>
                        </div>
    
                        <div class="img">
                            <a href="https://baike.baidu.com/item/特洛伊/982419">
                                <img src="{{url_for('static',filename='image/family.jpg')}}">
                            </a>
                            <p>
                               <a href="https://baike.baidu.com/item/%E7%89%B9%E6%B4%9B%E4%BC%8A/982419">家庭</a>
                            </p>
                        </div>
    
                        <div class="img">
                              <a href="https://baike.baidu.com/item/%E5%BC%A0%E5%9B%BD%E8%8D%A3/6804">
                             <img src="{{url_for('static',filename='image/beginagain.jpg')}}"></a>
                            <p>
                                <a href="https://baike.baidu.com/item/%E5%BC%A0%E5%9B%BD%E8%8D%A3/6804">小清新 </a>
                            </p>
                        </div>
    
                        <div class="img">
                            <a href="https://baike.baidu.com/item/%E7%BA%B5%E6%A8%AA%E5%9B%9B%E6%B5%B7/28113?fr=aladdin">
                                <img src="{{url_for('static',filename='image/lalaland.jpg')}}">
                                </a>
                            <p><a href="https://baike.baidu.com/item/%E7%BA%B5%E6%A8%AA%E5%9B%9B%E6%B5%B7/28113?fr=aladdin"> 歌舞</a>
                            </p>
                        </div>
    
         <div class="img">
                            <a href="https://baike.baidu.com/item/%E7%BA%B5%E6%A8%AA%E5%9B%9B%E6%B5%B7/28113?fr=aladdin">
                                <img src="{{url_for('static',filename='image/500withSummer.jpg')}}">
                                </a>
                            <p><a href="https://baike.baidu.com/item/%E7%BA%B5%E6%A8%AA%E5%9B%9B%E6%B5%B7/28113?fr=aladdin"> 爱情</a>
                            </p>
                        </div>
    
         <div class="img">
                            <a href="https://baike.baidu.com/item/%E7%BA%B5%E6%A8%AA%E5%9B%9B%E6%B5%B7/28113?fr=aladdin">
                                <img src="{{url_for('static',filename='image/loveRosie.jpg')}}">
                                </a>
                            <p><a href="https://baike.baidu.com/item/%E7%BA%B5%E6%A8%AA%E5%9B%9B%E6%B5%B7/28113?fr=aladdin">情感</a>
                            </p>
                        </div>
     </div>
    
        <footer>
            <a>关于我们</a>
        </footer>
        </div>
    

     

    {% extends 'index.html' %}
    
    {% block title %}注册{% endblock %}
    
    {% block head %}
        <link rel="stylesheet" type="text/css" href="{{url_for('static',filename='css/loginFormat.css')}}">
    
        <script src="{{url_for('static',filename='js/fnLogin.js')}}">
        </script>
    
        <script src="{{url_for('static',filename='js/fnRegister.js')}}">
        </script>
    {% endblock %}
    
    {% block loginContent %}
    
    <div>
        <img id=judge src="http://www.mjjcn.com/mjjcnforum/data/attachment/album/201204/13/1841526inn6nm62evb7k1j.gif" onclick="onOff()" style="height:100px" width="100"></a>
    </div>
    
        <div class="container" id="register">
            <form>
               <div class="inputStyle">
                <input class="inputFramework" type="text" id="username" placeholder="请输入用户名">
               </div>
    
               <div class="inputStyle">
                <input class="inputFramework" type="password" id="regisPassWord" placeholder="请输入您的密码">
               </div>
    
                <div class="inputStyle">
                <input class="inputFramework" type="password" id="again" placeholder="请再次输入您的密码">
               </div>
    
               <div>
                    <br>
                   <label><input id="loginButton" type="button" value="注册" onclick="fnregister();"/></label>
               </div>
    
               <div class="errorBox" id="errorRegister">
               </div>
         </form>
        </div>
    {% endblock %}
    

     

    登录页:

    {% extends 'index.html' %}
    
    {% block title %}登录{% endblock %}
    
    {% block head %}
        <link rel="stylesheet" type="text/css" href="{{url_for('static',filename='css/loginFormat.css')}}">
    
        <script src="{{url_for('static',filename='js/fnLogin.js')}}">
        </script>
    
        <script src="{{url_for('static',filename='js/fnRegister.js')}}">
        </script>
    {% endblock %}
    
    
    {% block loginContent %}
    <body id="body">
    <div>
        <img id=judge src="http://www.mjjcn.com/mjjcnforum/data/attachment/album/201204/13/1841526inn6nm62evb7k1j.gif" onclick="onOff()" style="height:100px" width="100"></a>
    </div>
    
    <div class="container" >
        <div id="login" >
            <form>
               <div class="inputStyle">
                <input class="inputFramework" type="text" id="username" placeholder="请输入用户名">
               </div>
    
               <div class="inputStyle">
                <input class="inputFramework" type="password" id="userpassword" placeholder="请输入密码">
               </div>
    
               <div class="checkBox">
                <label class="caption"><input class="loginCheckBox" type="radio" name="role" value="stu">学生</label>
                <label class="caption"><input class="loginCheckBox" type="radio" name="role" value="tea">教师</label>
                   <br>
               </div>
    
               <div>
                    <br>
                   <label><input id="loginButton" type="button" value="登录" onclick="fnLogin();"/></label>
               </div>
    
               <div class="errorBox" id="errorName">
               </div>
    
               <div class="errorBox" id="errorPassWord">
               </div>
         </form>
        </div>
    </div>
    
    </body>
    {% endblock %}
    

     

  • 相关阅读:
    Git输出格式——Git placeholders
    Unix的缺陷_王垠_新浪博客
    关于文件流的模拟上传——人人网首页拖拽上传详解(HTML5 Drag&Drop、FileReader API、formdata) | 彬Go
    perl正则表达式中的常用模式
    FileReader详解与实例读取并显示图像文件 | JS Mix
    Gitweb源码解析
    用ATL的W2A和A2W宏转换Unicode与ANSI字符串
    JavaScript正则表达式
    显示访客的浏览器类型
    显示屏幕分辨率
  • 原文地址:https://www.cnblogs.com/mavenlon/p/7782290.html
Copyright © 2020-2023  润新知