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

Posted 李庆

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 %}
        mis</title>

    <link rel="stylesheet" type="text/css" href="{{ url_for(‘static‘,filename=‘css/test1.css‘) }}">

    {% block head %}

    {% endblock %}
</head>

<body>

<div class="header">

    <a href="{{ url_for(‘test‘) }}" class="dz">首页</a>
    <a href="{{ url_for(‘deng‘) }}" class="dz">登录</a>
    <a href="{{ url_for(‘zhuce‘) }}" class="dz">注册</a>


    <input type="text" name="q" id="q" value="" autocomplete="off"
           placeholder="搜索" class="search-input"><br>


</div>


<div id="footer">
    版权 ? runoob.com
</div>

{% block body %}

{% endblock %}

</body>
</html>

 


<!DOCTYPE html>
<html lang="en">
<head>
{% extends ‘test1.html‘ %}
<meta charset="UTF-8">
<title>{% block title %}
登录界面
{% endblock %}
</title>
{% block head %}
<link rel="stylesheet" type="text/css" href="../static/css/deng.css">
<script src="../static/jsp/deng.js"></script>
{% endblock %}


</head>
<body>
{% block body %}
<div class="box">
<h1>登录</h1>
<div class="input_box">
<input id="name" type="text" placeholder="请输入用户名">
</div>
<div class="input_box">
<input id="pass" type="password" placeholder="请输入密码">
</div>
<div id="error_box"><br>
</div>
<div class="input_box">
<button onclick="fnLogin()">登录</button>
</div>
</div>
{% endblock %}


</body>
</html>

 

<!DOCTYPE html>
<html lang="en">
<head>
    {% extends ‘test1.html‘ %}
    <meta charset="UTF-8">
    <title>{% block title %}
    注册
    {% endblock %}</title>

    {% block head %}
        <link rel="stylesheet" type="text/css" href="../static/css/zhuce.css">
        <script src="../static/jsp/zhuce.js"></script>
    {% endblock %}


</head>
<body>

{% block body %}
    <div class="box">
        <h1>注册</h1>
        <div class="input_box">
            <input id="name" type="text" placeholder="请输入用户名">
        </div>
        <div class="input_box">
            <input id="phone" type="text" placeholder="手机号">
        </div>
        <div class="input_box">
            <input id="pass" type="password" placeholder="请输入密码">
        </div>
        <div class="input_box">
            <input id="passcom" type="password" placeholder="请再次输入密码">
        </div>
        <div id="error_box"><br>
        </div>
        <div class="input_box">
            <button onclick="fnLogin()">注册</button>
        </div>
    </div>
{% endblock %}


</body>
</html>

 

 

from flask import Flask,render_template

app = Flask(__name__)

@app.route(‘/‘)
def test():
    return render_template(‘test1.html‘)

@app.route(‘/zhuce‘)
def zhuce():
    return render_template(‘zhuce.html‘)

@app.route(‘/deng‘)
def deng():
    return render_template(‘deng.html‘)

if __name__ == ‘__main__‘:
    app.run(debug=True)

 

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

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

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

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

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

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

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