Flask-模版控制语句

所有的控制语句都是放在{% … %}中,并且有一个语句{% endxxx %}来进行结束,Jinja中常用的控制语句有if/for…in…
if:if语句和python中的类似,可以使用>,<,<=,>=,==,!=来进行判断,也可以通过and,or,not,()来进行逻辑合并操作

for…in…:for循环可以遍历任何一个序列包括列表、字典、元组。并且可以进行反向遍历
在这里插入图片描述
另外,不可以使用continue和break表达式来控制循环的执行。

# @ Time : 2020/4/11 23:41
# @ Author : Ellen
from flask import Flask,render_template

app = Flask(__name__)
app.config["TEMPLATES_AUTO_RELOAD"] = True

@app.route("/")
def index():
    context = {
        "username": "ellen",
        "books": ["Python","Java","PHP"],
        "users":{
            "name": "ellen",
            "age": 19,
            "address": "shanghai"
        }
    }
    return render_template("if_for.html",**context)


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

创建 if_for.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!-- {{ 变量 }} -->
{# {% 函数 if for %} #}


{% if username == "ellen1" %}
    <p>{{ username }}</p>
{% else %}
    <p>当前的用户名不是ellen...</p>
{% endif %}

{% for book in books %}
    <p>{{loop.index}}</p>
    <p>{{ book }}</p>
{% endfor %}

{% for user in users %}
    <p>{{ user }}</p>
{% endfor %}

{% for key,value in users.items() %}
    <p>{{ key }}</p>
    <p>{{ value }}</p>
{% endfor %}
<hr>
{% for key in users.keys() %}
    <p>{{ key }}</p>
{% endfor %}
<hr>
{% for value in users.values() %}
    <p>{{ loop.first }}</p>
    <p>{{ value }}</p>
{% endfor %}


</body>
</html>

在这里插入图片描述
在这里插入图片描述

发布了118 篇原创文章 · 获赞 0 · 访问量 2663

猜你喜欢

转载自blog.csdn.net/weixin_45905671/article/details/105462306