小福利,flask框架学习笔记(4)

大家好,我是天空之城,今天给大家带来小福利,flask框架学习笔记(4)
include语句和set语句的运用
include 语句可以把1个模板引到另外1个模板中,类似于把1个模板的代 码copy到另外1个模板的指定位置

 {% include 'header.html' %} 
 主体内容 
 {% include 'footer.html' %}

赋值(set)语句
有时候我们想在在模板中添加变量,这时候赋值语句(set)就派上⽤场了
{% set name=‘juren’ %}
那么以后就可以使⽤ name 来代替 juran 这个值了,同时,也可以给他赋值为 列表和元组:
{% set navigation = [(‘index.html’, ‘Index’), (‘about.html’, ‘Abou t’)] %}
赋值语句创建的变量在其之后都是有效的,如果不想让1个变量污染全局环 境,可以使⽤ with 语句来创建1个内部的作用域,将 set 语句放在其中,这样 创建的变量只在 with 代码块中才有效

1 {% with %} 
2 {% set foo = 42 %} 
3 {{ foo }}          foo is 42 here 
4 {% endwith %}

也可以在 with 的后⾯直接添加变量,如以上的写法可以修改成这样:

1 {% with foo = 42 %} 
2 {{ foo }} 
3 {% endwith %}

这两种⽅式都是等价的,⼀旦超出 with 代码块,就不能再使⽤ foo 这个变量 了。
在这里插入图片描述
在这里插入图片描述
第一个demo.py文件

from flask import Flask, render_template


app = Flask(__name__)


@app.route('/')
def index():

    return render_template('demo.html')


@app.route('/list/')
def list_article():
    return render_template('list.html')


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


demo.html文件

{% extends 'base.html' %}

{% block footer %}
<div class="footer">
    这是网页尾部
    {% block foo %}
    <div class="foo">
        f
    </div>
    {% endblock %}
</div>
{% endblock %}

{% block Title %}
    {{ super() }}
    这是首页
{% endblock %}


base.html模板文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{% block Title %}
        Title
    {% endblock %}</title>
</head>
<body>
{% block header %}
<ul>
    <li>国际</li>
    <li>军事</li>
    <li>财经</li>
    <li>娱乐</li>
</ul>
{% endblock %}

{% block footer %}
<div class="footer">
    这是网页尾部
    {% block foo %}
    <div class="foo">
        foo
    </div>
    {% endblock %}
</div>
{% endblock %}

{% block foot %}
    <p>友情提示</p>
{% endblock %}

{% block demo %}
{% endblock %}

</body>
</html>

list.html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="{{ url_for('static', filename='css/index.css') }}">
    <script src="{{ url_for('static', filename='js/index.js') }}"></script>
    
</head>
<body>
<img src="{{ url_for('static', filename='images/index.jpeg') }}" alt="">
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值