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

Posted 056林锋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了加载静态文件,父模板的继承和扩展相关的知识,希望对你有一定的参考价值。

1.用url_for加载静态文件

    <script src="{{ url_for(‘static‘,filename=‘js/login.js‘) }}"></script>
    flask 从static文件夹开始寻找
    可用于加载css, js, image文件

2.继承和扩展

    把一些公共的代码放在父模板中,避免每个模板写同样的内容。base.html
    子模板继承父模板
          {% extends ‘base.html’ %}
    3.父模板提前定义好子模板可以实现一些自己需求的位置及名称。block
        <title>{% block title %}{% endblock %}-MIS问答平台</title>
        {% block head %}{% endblock %}
        {% block main %}{% endblock %}
   4. 子模板中写代码实现自己的需求。block
          {% block title %}登录{% endblock %}

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

from flask import Flask,render_template

app = Flask(__name__)

@app.route(‘/‘)
def shouye():
    return render_template(‘base.html‘) #跳转首页
@app.route(‘/denglu/‘)
def gg():
    return render_template(‘denglu.html‘) #跳转登录
@app.route(‘/zhuche/‘)
def login():
    return render_template(‘zhuce.html‘)#跳转注册

@app.route(‘/tupian/‘)
def hh():
    return render_template(‘22c.html‘) #跳转图片库
if __name__ == ‘__main__‘:
    app.run(debug=True)

 

父模版
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Welcome to GZCC -- {% block head %}{% endblock %}</title>
    <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
    <link type="text/css" rel="stylesheet" href="../static/css/Fumoban.css">
    <script type="text/javascript" src="{{ url_for(‘static‘,filename=‘js.muban.js‘) }}"></script>
</head>
<nav class="ti">
    <a href="" target="_blank"><img src="http://www.gzcc.cn/2016/images/footer1-logo.png" id="logo" alt="logo"></a>
    <a href="{{ url_for(‘he‘) }}">
    <button type="submit" class="ti">首页</button>
    </a>
    <a href="http://site.gzcc.cn/">
    <button type="submit" class="ti">信息学院</button>
    </a>
    <a href="http://sfl.gzcc.cn/">
        <button type="submit" class="ti">外国语学院</button>
    </a>
    <a href="http://sa.gzcc.cn/">
        <button type="submit" class="ti">会计学院</button>
    </a>
    <a href="http://st.gzcc.cn/">
        <button type="submit" class="ti">旅游学院</button>
    </a>
    <input type="text" placeholder="学院搜索">
    <a href="https://www.baidu.com/">
    <button type="submit" class="ti">搜索</button>
    </a>
    <a href="{{ url_for(‘ha‘) }}">
    <button type="submit" class="ti">登录</button>
    </a>
    <a href="{{ url_for(‘hi‘) }}">
    <button type="submit" class="ti">注册</button>
    </a>
</nav>
<body>
<div class="beijing">
<br><br><br><br><br><br><br><br>{% block main %}{% endblock %}<br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
</div>
<div>
    <div class="mg">
        <a href="http://www.gzcc.cn/"><img src="http://www.gzcc.cn/2016/images/yhdh/01.jpg"></a>
        <div id="dese"><a href=http://www.gzcc.cn/">学校荣誉</a></div>
    </div>
    <div class="mg">
        <a href="http://www.gzcc.cn/"><img src="http://www.gzcc.cn/2016/images/yhdh/02.jpg"></a>
        <div id="dese"><a href=http://www.gzcc.cn/">师生获奖</a></div>
    </div>
    <div class="mg">
        <a href="http://www.gzcc.cn/html/xueyuanrongyu/"><img src="http://www.gzcc.cn/2016/images/yhdh/03.jpg"></a>
        <div id="dese"><a href=http://www.gzcc.cn/html/xueyuanrongyu/">领导关怀</a></div>
    </div>
    <div class="mg">
        <a href="http://www.gzcc.cn/html/xueyuanrongyu/"><img src="http://www.gzcc.cn/2016/images/yhdh/08.jpg"></a>
        <div id="dese"><a href=http://www.gzcc.cn/html/xueyuanrongyu/">数字广商</a></div>
    </div>
    <div class="mg">
        <a href="http://www.gzcc.cn/html/xueyuanrongyu/"><img src="http://www.gzcc.cn/2016/images/yhdh/05.jpg"></a>
        <div id="dese"><a href=http://www.gzcc.cn/html/xueyuanrongyu/">画说校园</a></div>
    </div>
    <div class="mg">
        <a href="http://www.gzcc.cn/html/xueyuanrongyu/"><img src="http://www.gzcc.cn/2016/images/yhdh/06.jpg"></a>
        <div id="dese"><a href=http://www.gzcc.cn/html/xueyuanrongyu/">视频校园</a></div>
    </div>
    <div class="mg">
        <a href="http://www.gzcc.cn/html/xueyuanrongyu/"><img src="http://www.gzcc.cn/2016/images/yhdh/07.jpg"></a>
        <div id="dese"><a href=http://www.gzcc.cn/html/xueyuanrongyu/">全景校园</a></div>
    </div>
    <div class="mg">
        <a href="http://www.gzcc.cn/html/xueyuanrongyu/"><img src="http://www.gzcc.cn/2016/images/yhdh/04.jpg"></a>
        <div id="dese"><a href=http://www.gzcc.cn/html/xueyuanrongyu/">校友风采</a></div>
    </div>
</div>
</body>
</html
css
h2{
    align:center;
   }
.flex-container {
    display: -webkit-flex;
    display: flex;
    width: 300px;
    height: 150px;
    padding-left: 100px;
    padding-top: 30px;
    background-color: peachpuff;
    }
#input_box{
    align:center;
    margin:400px;
    padding-left:400px;
    }

#error_box{
    color: hotpink;
    }
body{ padding-right:500px; margin-top:100px; padding-left:500px; font-size:16px; padding-bottom:30px; padding-top:40px; font-family:verdana,Arial,Helvetica,sans-serif;
}
{% extends "base.html" %}

{% block title %}登陆{% endblock %}

{% block head %}
<link href="{{ url_for("static",filename="CSS/login_zhuce.css") }}" rel="stylesheet" type="text/css" charset="UTF-8">
<script src="{{ url_for("static",filename="JS/login_zhuce.js") }}"></script>
{% endblock %}

{% block main %}
<div class="center-block" id="loginbox">
    <div class="panel panel-primary" id="loginbox1_1">
        <div class="panel-heading">
            <h2 class="panel-title">登陆</h2>
        </div>
        <br>
        <form class="bs-example bs-example-form" role="form">
            <div class="input-group">
                <span class="input-group-addon"></span>
                <input type="text" class="form-control" id="id" placeholder="请输入用户名">
            </div>
            <br>
            <div class="input-group">
                <span class="input-group-addon"></span>
                <input type="password" class="form-control" id="password" placeholder="请输入密码">
            </div>
            <div id="error_box">
                <br>
            </div>
            <div class="checkbox">
                <label>
                    <input type="checkbox">记住我
                </label>
            </div>
            <br>
            <label><input type="button" class="btn btn-default" onclick="Login()" value="登陆"></input></label>
        </form>
    </div>
</div>
{% endblock %}


</html>
{% extends "base.html" %}
{% block title %}注册{% endblock %}

{% block head %}
    <link href="{{ url_for("static",filename="CSS/login_zhuce.css") }}" rel="stylesheet" type="text/css" charset="UTF-8">
    <script src="{{ url_for("static",filename="JS/login_zhuce.js") }}"></script>
{% endblock %}

{% block main %}
<div class="center-block" id="zhucebox">
    <div class="panel panel-primary" id="zhucebox1_1">
        <div class="panel-heading">
            <h2 class="panel-title">注册</h2>
        </div>
        <br>
        <form class="bs-example bs-example-form" role="form">
            <div class="input-group">
                <span class="input-group-addon"></span>
                <input type="text" class="form-control" id="zcid" placeholder="请输入用户名">
            </div>
            <br>
            <div class="input-group">
                <span class="input-group-addon"></span>
                <input type="password" class="form-control" id="zcpassword" placeholder="请设置密码">
            </div>
            <br>
            <div class="input-group">
                <span class="input-group-addon"></span>
                <input type="password" class="form-control" id="repassword" placeholder="请再次输入密码">
            </div>
            <div id="error_box1">
                <br>
            </div>
            <br>
            <label><input type="button" class="btn btn-default" value="注册" onclick="Zhuce()"></input></label>
        </form>
    </div>
</div>
{% endblock %}

 

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

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

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

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

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

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

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