flask模板---if语句

简单示例

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

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    {% if name=='管理员' %}
    <p>原来你是管理员啊</p>
    {% else %}
    <p>欢迎你 {{ name }}</p>
    {% endif %}
</body>
</html>

在app.py文件里新增加一个视图函数

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

启动服务后,在浏览器里输入 http://127.0.0.1:5000/if/小明

页面里会显示

欢迎你 小明

但如果你在浏览器里输入 http://127.0.0.1:5000/if/管理员

页面里则会显示

原来你是管理员啊

关于条件语句语法

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

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

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

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

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

扫描关注, 与我技术互动

QQ交流群: 211426309

加入知识星球, 每天收获更多精彩内容

分享日常研究的python技术和遇到的问题及解决方案