七天学会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 %} 增加逻辑判断