- 用url_for加载静态文件
- <script src="{{ url_for('static',filename='js/login.js') }}"></script>
- flask 从static文件夹开始寻找
- 可用于加载css, js, image文件
- 继承和扩展
- 把一些公共的代码放在父模板中,避免每个模板写同样的内容。base.html
- 子模板继承父模板
- {% extends 'base.html’ %}
- 父模板提前定义好子模板可以实现一些自己需求的位置及名称。block
- <title>{% block title %}{% endblock %}-MIS问答平台</title>
- {% block head %}{% endblock %}
- {% block main %}{% endblock %}
- 子模板中写代码实现自己的需求。block
- {% block title %}登录{% endblock %}
- 首页、登录页、注册页都按上述步骤改写。
父模板:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>{% block title%}父模板{% endblock %}</title> <script src="{{url_for('static',filename='js/base.js') }}" type="text/javascript"></script> <link href="{{ url_for('static' ,filename='css/base.css') }}" rel="stylesheet" type="text/css"> {% block head %} {% endblock %} </head> <body id="myBody"> <nav> <div class="container"> <img id="images" src="{{ url_for('static',filename='images/flower.jpg') }}" alt="fl" width="50"> <a class="one" href="{{url_for('shouye')}}">首页 </a> <a class="one" href="{{url_for('question')}}">发布问题 </a> <a class="one" href="">联系我们 </a> <input id="keyword" type="text" name="search" placeholder="请输入关键字"> <input type="submit" value="搜索"> <a class="login" href="{{url_for('login')}}">登录</a> <a class="register" href="{{url_for('register')}}">注册</a> <img id="on_off" onclick="mySwitch()" src="../static/images/bulbon.gif"> </div> </nav> {% block main %} <footer> <div class="footer_box"> Copyright@ 2017-2022 个人版权,版权所有 </div> </footer> {% endblock %}
-
首页:
{% extends'base.html' %} {% block title %} 首页 {% endblock %} {% block head %} <link rel="stylesheet" href="{{ url_for('static',filename='css/shouye.css')}}" type="text/css"> {% endblock %} {% block main %} <body> <div class="daohang"> <p>用户导航</p> <hr> <div class="img"> <a href="http://music.baidu.com/tag/%E6%B5%81%E8%A1%8C"> <img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1508478031679&di=ff1b37b2f4b046bb6b035f800fcc1400&imgtype=0&src=http%3A%2F%2Fpic9.nipic.com%2F20100923%2F4845745_011226734994_2.jpg"></a> <div class="desc"><a href="http://music.baidu.com/tag/%E6%B5%81%E8%A1%8C">流行歌曲</a></div> </div> <div class="img"> <a href="http://music.163.com/#/playlist?id=105393276"> <img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1508478031677&di=1179157de7164fa75c56875751209545&imgtype=0&src=http%3A%2F%2Fpic.58pic.com%2F58pic%2F11%2F50%2F48%2F20P58PICesf.jpg"></a> <div class="desc"><a href="http://music.163.com/#/playlist?id=105393276">零零年代曲</a></div> </div> <div class="img"> <a href="http://music.baidu.com/tag/%E6%AC%A7%E7%BE%8E"> <img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1508478031678&di=623a8822585eb7e98099f5b646b2243c&imgtype=0&src=http%3A%2F%2Fpic.58pic.com%2F58pic%2F14%2F13%2F36%2F87A58PICdZ6_1024.jpg"></a> <div class="desc"><a href="http://music.baidu.com/tag/%E6%AC%A7%E7%BE%8E">欧美Hits</a></div> </div> <div class="img"> <a href="http://music.163.com/#/playlist?id=23043140"> <img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1508478031678&di=0f421a2aaf8a7d441fd6eebfb9019105&imgtype=0&src=http%3A%2F%2Fimg1.3lian.com%2Fimg013%2Fv1%2F93%2Fd%2F87.jpg"></a> <div class="desc"><a href="http://music.163.com/#/playlist?id=23043140">九十年代四大天王</a></div> </div> </div> </body> </html> {% endblock %}
登录页:
{% extends 'base.html'%} {% block title %} 登录 {% endblock %} {% block head %} <script src="{{url_for('static',filename='js/login.js') }}"></script> <script src="{{url_for('static',filename='js/base.js') }}"></script> <link rel="stylesheet" type="text/css" href="{{url_for('static',filename='css/login.css') }}"> {% endblock %} {% block main %} <div class="box"> <a class="one" href="{{url_for('login')}}">登录</a> <b>·</b> <a class="one"href="{{url_for('register')}}">注册</a> <div class="input_box"> username:<input type="text" id="uname" placeholder="请输入用户名"> </div> <div class="input_box"> password:<input type="password" id="upass" placeholder="请输入密码"> </div> <div id="error_box"><br></div> <div class="input_box"> <button id="login" onclick="myLogin()">Login </button> </div> </div> {% endblock %}
注册页:
{% extends 'base.html'%} {% block title %} 注册 {% endblock %} {% block head %} <link rel="stylesheet" type="text/css" href="{{url_for('static',filename='css/register.css') }}"> <script src="{{url_for('static',filename='js/register.js') }}"></script> {% endblock %} {% block main %} <div class="box"> <a class="one" href="{{url_for('login')}}">登录</a> <b>·</b> <a class="one" href="{{url_for('register')}}">注册</a> <div class="input_box"> 用户名:<input type="text" id="uname" placeholder="请设置用户名"> </div> <div class="input_box"> 昵称:<input type="text" id="unumber" placeholder="请输入昵称" > </div> <div class="input_box"> 密 码:<input type="password" id="upass" placeholder="请设置登录密码"> </div> <div class="input_box"> 确定密码:<input type="password" id="uupass" placeholder="请再次输入登录密码"> </div> <div id="error_box"><br></div> <div class="input_box"> <button id="register" onclick="check()">register </button> </div> </div> {% endblock %}