用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
- <title>{% block title %}{% endblock %}-MIS问答平台</title>
- {% block head %}{% endblock %}
- {% 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 %}