Flask学习笔记(4)

开发环境:win10 + vscode + python3.7

Flask动态模板渲染

动态渲染

# 动态网页模板渲染

from flask import Flask
from flask import render_template
from random import randint
app = Flask(__name__)


@app.route("/")
def index():
    return render_template('index/index.html')

# 单变量的模板渲染
@app.route("/user/<string:name>")
def user_show(name):
    return render_template('user.html', name=name)


# 多变量的模板渲染
@app.route('/user2/<string:name>')
def many_show(name):
    age = 12
    return render_template('user2.html', name=name, age=age)

# 模板文件的条件语句
@app.route('/c/')
def c():
    i = randint(0, 10)
    return render_template('c.html', i=i)


# 模板文件中的循环语句
@app.route('/x/')
def x():
    j = []
    for i in range(0, 10):
        j.append(i)
    return render_template('x.html', j=j)

#  列表与字典变量的操作
@app.route('/qt/')
def qt(): 
    lista = [1, 2, 3, "a", "b"]
    dictb = {'a': 'hello', 'b': 'world', 'c': '!'}
    return render_template('qt.html', l=lista, d=dictb,)


# 开启监听器
if __name__ == "__main__":
    app.run(debug=True)

c.html 模板文件代码

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>条件模板渲染</title>
        <h1>条件模板渲染</h1>
    </head>
    <body>
        {% if i < 5 %}
        <p>返回值小于5</p>
        <p>返回值为{{i}}</p>
        {% elif i >= 5 and i < 8 %}
        <p>返回值大于等于5且小于8</p>
        <p>返回值为{{i}}</p>
        {% else %}
        <p>返回值大于等于8</p>
        <p>返回值为{{i}}</p>
        {% endif %}
    </body>
</html>

x.html模板文件代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>循环渲染</title>
    <h1>循环渲染</h1>
</head>

<body>
    {% for each in j %}
        {% if loop.last %}
            <p>这是最后一次循环</p>
        {% elif loop.first %}
            <p>这是第一次循环</p>
        {% else %}
            <p>这是循环过程</p>
        {% endif %}
        <p>这里显示{{each}}</p>
        <p>从1开始算,这是第{{loop.index}}次循环</p>
        <p>从0开始算,这是第{{loop.index0}}次循环</p>
        -------------------------------
    {% endfor %}
</body>

</html>

qt.html模板文件代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>这是用户中心</title>
    <h1>这是用户中心文字!</h1>
</head>

<body>
    <p>列表的第1个元素:{{ l.0}}</p>
    <p>列表的第4个元素:{{l.3}}</p>
    -------------------------------------
    <p>字典的第一个元素:{{d.a}}</p>
    <p>字典的第三个元素:{{d.c}}</p>
</body>

</html>

体会一下三个文件里的模板语言代码,这个是模板文件里经常要用的到的操作。

源码下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱编程的章老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值