七天学会flask(六)---模板-if语句(3)(第一天)

flask模板---if语句

jinja2在模板里支持if条件语句,这意味着你可以更加灵活的控制页面的显示,同正常python代码一样,它支持elif和else。

对上一篇的实例做一些简单的修改,新建一个if.html文件,内容为:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<p>{% if name=='admin' %}
    <p>欢迎来到前台管理界面,{{name}},你是前台管理员</p>
{% elif name=='liang' %}
<p>欢迎来到后台管理界面,{{name}},你是后台管理员</p>
    {% else %}
    <p>欢迎你 {{ name }}</p>
    {% endif %}</p>
</body>
</html>

app.py文件:

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/name/<string:name>',methods=['GET'])
def welcome(name):
    return render_template('name.html', name=name)

app.run(debug=True)

在浏览器中输入 http://127.0.0.1:5000/name/admin,浏览器界面显示:

 在浏览器中输入 http://127.0.0.1:5000/name/liang,浏览器界面显示:

 在浏览器中输入 http://127.0.0.1:5000/name/ceshi,浏览器界面显示:

关于条件语句语法

如果只是有一个值需要动态替换,那么你需要使用 {{ ... }}
这种语法,但如果你希望对程序更精细的控制,需要用到条件语句,for循环,则必须使用{% ... %}

使用if条件语句语句时,下面三个语句块一个都不能少

{% if name=='管理员' %}
    do something
{% else %}
    do something
{% endif %}

尤其是最后的{% endif %},很容易被遗忘

如果两个条件分支无法满足业务需求,你也可以使用 {% elif %} 增加逻辑判断

posted @ 2023-04-23 10:32  家乐福的搬砖日常  阅读(88)  评论(0编辑  收藏  举报